Commit Graph

178 Commits (f0cde4a28ee8fcbcac9add34ea631b2198c9d034)

Author SHA1 Message Date
Araozu 2583c35f21 Use colored for CLI output 2023-12-12 20:58:09 -05:00
Araozu f6c1664816 Minimal CLI command & options parsing 2023-12-12 20:49:39 -05:00
Araozu 6399bd338c Remove clap & colored 2023-12-10 20:32:20 -05:00
Araozu cae07fcc49 small changes 2023-12-09 19:23:03 -05:00
Araozu dcffe062a1 Parse binary operators 2023-11-21 21:40:11 -05:00
Araozu d4a633f7c0 Parse binary / * 2023-11-21 21:29:55 -05:00
Araozu a54abcc394 Structure for parsing operators. Parse unary operator 2023-11-21 21:02:50 -05:00
Araozu c045721f46 Change grammar to incorporate binary operators 2023-11-21 07:49:49 -05:00
Araozu c02e1c1f8e [Syntax] Parse function call inside a binding 2023-11-04 06:52:46 -05:00
Araozu 799cda1bf0 [Syntax] Refactor the expression parser to use ParseResult 2023-11-04 06:46:42 -05:00
Araozu e02a95f065 fix tests 2023-11-04 05:41:16 -05:00
Araozu ed0e163283 [Syntax] Refactor binding parsing 2023-10-05 20:26:47 -05:00
Araozu f769a2ec1d tag 0.0.7 2023-10-05 06:56:21 -05:00
Araozu 18cbe2a8ab [Syntax] Parse var/val binding as statemente 2023-10-05 06:51:48 -05:00
Araozu 0630287e34 [Syntax] Parse function call as a statement 2023-10-05 06:31:24 -05:00
Araozu 9af450eaa0 Refactor 2023-10-01 18:41:00 -05:00
Araozu 971b9d9516 Parse minimal function call 2023-10-01 17:43:59 -05:00
Araozu c4d13e76bc Parse empty arguments list 2023-10-01 17:37:19 -05:00
Araozu 03b5a1b6de Start function call parsing 2023-10-01 17:18:28 -05:00
Araozu 2e9776de01 [syntax] refactor bindings 2023-09-24 18:51:08 -05:00
Araozu 1fbc353ebf Extract params list parsing 2023-09-21 20:52:55 -05:00
Araozu fec196d5aa Refactor function declaration parsing 2023-09-21 20:34:51 -05:00
Araozu 8bf24e3f1a Parse minimal block of code 2023-09-20 19:53:46 -05:00
Araozu bbd82b07c4 Tag 0.0.6 2023-09-19 20:42:03 -05:00
Araozu 6604632d9e [syntax] Ignore whitespace when parsing a function declaration 2023-09-19 20:30:49 -05:00
Araozu 807c46314b [syntax] Alternative function to expect tokens 2023-09-19 20:06:38 -05:00
Araozu 5dd104bcc9 Parse multiple top level declarations 2023-09-17 17:58:56 -05:00
Araozu 1bccb70c97 Emit DEDENT for each indentation level remaining at EOF 2023-09-17 13:58:45 -05:00
Araozu bd9e418ddd Emit a DEDENT for each indentation level decreased 2023-09-10 20:10:34 -05:00
Araozu 19474eb85e Refactor last change 2023-09-10 11:40:46 -05:00
Araozu 8b80dad589 Emit INDENT token on indentation increase 2023-09-10 11:16:34 -05:00
Araozu 2481b7297c Codegen minimal function declaration 2023-09-08 20:28:53 -05:00
Araozu 5f25bae3e0 Parse minimal function declaration 2023-09-08 20:18:19 -05:00
Araozu c61f88aaaa Changes to codegen to move from JS to PHP generation 2023-09-08 19:34:08 -05:00
Araozu 94f0b0c92d Refactor AST location 2023-09-07 20:50:51 -05:00
Araozu c0b5dde9cf Refactor token creation 2023-09-07 20:46:11 -05:00
Araozu fe8f4f3fd1 Remove lifetimes 2023-09-07 20:32:59 -05:00
Araozu 4f1fc93ceb Remove doc from compiler 2023-09-07 20:18:35 -05:00
Araozu a88729b395 Move folders to add a new documentation generator binary 2023-03-27 09:41:16 -05:00
Araozu cc4f304d00 Fix bug with escape characters inside strings in the lexer 2023-03-16 13:56:54 -05:00
Araozu def93715c7 Refactor. Fix invalid position field of Number tokens 2023-03-16 13:31:24 -05:00
Araozu f882942f3f Specific reason for failure for syntax error 2023-03-15 16:41:04 -05:00
Araozu e383d300f2 Show offending line and token when a syntax error is found 2023-03-15 16:33:00 -05:00
Araozu cdafc40ff7 Add minimal error reporting for syntax analysis 2023-03-14 16:10:43 -05:00
Araozu a88c8e9216 Error messages 2023-03-03 09:55:26 -05:00
Araozu 1b9a3377cb Add clap for CLI args parsing 2023-03-03 09:55:26 -05:00
Araozu d8ea08b28b Add simple error reporting for lexical errors (rebase) 2023-03-03 09:55:20 -05:00
Araozu c83cd23d49 Add functions for error handling (merge) 2023-03-03 09:53:29 -05:00
Araozu f28e7394e9 Scan datatypes. Parse datatype annotations 2023-02-15 16:17:50 -05:00
Araozu 1849e11ebb v0.0.3 - token stream always ends with Semicolon & EOF 2023-02-14 15:32:45 -05:00
Araozu cc6e3fc78a Simple ASI 2023-02-14 15:22:29 -05:00
Araozu 5d40be6d90 Get datatype from an identifier in the symbol table. Improve code documentation 2023-02-11 18:13:05 -05:00
Araozu 3a11000fe0 Get dataypes from sybols 2023-02-11 09:53:18 -05:00
Araozu cfbb86ab68 Get correct type of a binding 2023-02-10 12:51:10 -05:00
Araozu 8aba492f15 Parse strings and booleans 2023-02-10 12:30:10 -05:00
Araozu 850ed4cdaf Parse simple var binding 2023-02-09 18:44:31 -05:00
Araozu df772ec737 Report sytax errors 2023-02-08 19:53:02 -05:00
Araozu 236a9c296b Simple codegen 2023-01-24 08:05:49 -05:00
Araozu 418be5dc17 Simple type checking in the symbol table 2023-01-23 08:34:24 -05:00
Araozu 1c90ee293b Add simple symbol table 2023-01-23 07:58:53 -05:00
Araozu 6cecd6af52 Add binding parsing 2023-01-17 08:04:11 -05:00
Araozu 7d99920a71 Add parsing for simple declarations 2023-01-08 18:09:06 -05:00
Araozu e080945d37 Start simple AST parsing 2023-01-05 18:20:58 -05:00
Araozu 0a22391bae Fix bugs and improve error messages 2023-01-05 12:48:34 -05:00
Araozu 5efcabbfc3 Scan strings and escape characters inside string 2022-12-01 12:53:14 -05:00
Araozu f3ee68fcf1 Scan and keywords 2022-12-01 12:17:17 -05:00
Araozu e580167682 Scan identifiers 2022-12-01 08:33:48 -05:00
Araozu 11ca7edb44 Refactor and scan grouping signs 2022-11-30 08:38:43 -05:00
Araozu 0951551a3e Scan scientific notation with decimal part 2022-11-29 20:41:12 -05:00
Araozu c46291ed8a Refactor number scanners 2022-11-29 20:30:56 -05:00
Araozu 53fd824e8d Simple scientific notation scanning 2022-11-29 20:13:48 -05:00
Araozu 2c17557aad Fix errors in lexical analyzer 2022-11-28 19:16:55 -05:00
Araozu 0bb71c6822 Scan operators 2022-11-28 18:33:34 -05:00
Araozu de34dd0b71 Scan simple floating point numbers 2022-11-28 17:31:02 -05:00
Araozu a788a12eb3 Scan hex values 2022-11-28 17:05:43 -05:00
Araozu 730c5391d9 Scan simple hex value 2022-11-28 16:45:39 -05:00
Araozu c2946e7a9b Scan integers 2022-11-21 16:58:51 -05:00
Araozu 7a929ac440 Initial commit 2022-11-18 12:40:09 -05:00