Commit Graph

224 Commits (master)

Author SHA1 Message Date
Araozu 7091c81201 feat: typecheck while loops 2024-08-29 10:11:05 -05:00
Araozu d4f34b62e2 feat: typecheck conditionals and for loops 2024-08-29 09:54:53 -05:00
Araozu 441db4bcad feat: typecheck arrays 2024-08-29 09:12:08 -05:00
Araozu 438802d011 feat: parse while loops 2024-08-28 09:45:58 -05:00
Araozu 86166c2105 feat: parse loops 2024-08-28 08:53:06 -05:00
Araozu fa4d79dbe4 feat: parse arrays 2024-08-27 18:34:30 -05:00
Araozu 72bd8c50c9 feat: parse conditionals 2024-08-27 16:13:59 -05:00
Araozu 6ff782a20e refactor: simplify statement termination parsing 2024-08-27 10:49:25 -05:00
Araozu 46758f1ddf feat: implement semantic check for a function declaration 2024-08-27 10:15:04 -05:00
Araozu b481351597 feat: enforce new line after a statement 2024-08-27 09:53:10 -05:00
Araozu f0cde4a28e feat: semantic check for binary operator 2024-08-27 08:20:47 -05:00
Araozu ee9b12253d feat: semantic check for unary op 2024-08-27 07:50:57 -05:00
Araozu 28d48c8b2f refactor: reenable tests 2024-08-26 17:00:40 -05:00
Araozu 6965eda6a7 refactor: remove old code 2024-08-26 16:25:20 -05:00
Araozu 974c380eaf refactor: revert to old ast transformation strategy 2024-08-26 16:13:54 -05:00
Araozu 912384c856 refactor: change tokenize api 2024-08-26 08:44:03 -05:00
Araozu 4ac01099ce chore: update changelog 2024-08-13 15:19:18 -05:00
Araozu 2b23e36955 feat: lex octal and binary 2024-08-13 15:05:28 -05:00
Araozu e52176f90c feat: store tokens in ast for basic nodes 2024-08-13 08:04:01 -05:00
Araozu d999b8ecfd feat: store paren positions on argument list 2024-08-12 20:08:09 -05:00
Araozu 96d3e11951 feat: store tokens for all primitive nodes in the ast 2024-08-12 19:51:24 -05:00
Araozu d88d2e7f2d feat: store token on expression::int 2024-08-12 19:36:31 -05:00
Araozu f7168f1d09 test: typing of function calls 2024-08-12 19:07:28 -05:00
Araozu 462b45ee51 test: return from typed expression::identifier 2024-08-12 18:52:42 -05:00
Araozu 833a8774d8 feat: store identifier token in the ast 2024-08-12 18:44:05 -05:00
Araozu d5f2176fa7 refactor: reenable file compilation 2024-08-02 08:41:25 -05:00
Araozu f1b15db509 feat: Add semantic errors to tokenize command output 2024-08-01 20:34:08 -05:00
Araozu 6eef841e84 feat: Naive transpiling of variable bindings 2024-08-01 17:49:25 -05:00
Araozu 9cd1b70103 feat: codegen of top level expressions 2024-08-01 15:37:00 -05:00
Araozu 8e18458125 feat: PHP simple assignment 2024-08-01 15:21:08 -05:00
Araozu 4c565df699 feat: semantic analysis for hello world 2024-08-01 10:34:08 -05:00
Araozu c0e20ad283 refactor: Dont store quotes inside string tokens 2024-07-31 10:54:17 -05:00
Araozu a62d08455b refactor: remove old codegen, test new codegen nodes 2024-07-31 10:33:54 -05:00
Araozu 23b3ece588 refactor: formatting 2024-07-30 15:55:29 -05:00
Araozu 9b75323dc9 feat: Scanning of nested comments 2024-07-29 17:01:35 -05:00
Araozu 14c1b6f8d8 feat: Scanning of multiline comments 2024-07-29 16:38:21 -05:00
Araozu 69339a955e feat: Add syntax errors to the tokenize command 2024-07-28 18:18:11 -05:00
Araozu 0d96efd4d8 Minimal workflow for a Hello World 2024-07-27 18:44:54 -05:00
Araozu fe7cfe9d5f feat: Minimal conversion of THP->PHP AST 2024-07-27 17:34:32 -05:00
Araozu 5102d25676 feat: Add interface to tokenize code from STDIN and output JSON 2024-07-05 17:49:19 -05:00
Araozu 3f892e91c2 refactor(lex): dont emit newline before INDENT/DEDENT 2024-06-19 17:57:07 -05:00
Araozu 78d01a8fc8 feat: indentation for bypassing statement termination 2024-06-15 21:02:45 -05:00
Araozu 8429ca8d8f refactor: yet another strategy to parse indentation around binary op 2024-06-15 19:32:04 -05:00
Araozu d08019c010 refactor: new strategy to handle indentation around binary op 2024-06-15 19:04:40 -05:00
Araozu 56ea63cf8c refactor: parse indentation on term 2024-06-15 16:36:27 -05:00
Araozu fa14439507 refactor: parse indentation on comparison 2024-06-15 16:28:23 -05:00
Araozu be8c16ccf0 refactor: implement new indent strategy on equality parsing 2024-06-05 20:50:01 -05:00
Araozu 9685c132c5 refactor: abstract indent/dedent handling to macros 2024-06-05 20:45:22 -05:00
Araozu 457c8f23bb refactor: 2nd strategy to handle indentation 2024-06-05 20:22:13 -05:00
Araozu 4d9c7fae3e feat: handle indent/dedent in == parsing 2024-06-05 12:05:32 -05:00