Commit Graph

57 Commits

Author SHA1 Message Date
9857863220 refactor: changes 2024-09-30 18:37:36 -05:00
b59d014383 refactor: migrate syntax errors into new struct 2024-09-13 19:54:27 -05:00
fef5ee8041 refactor: begin to implement new error interface 2024-09-13 19:02:19 -05:00
438802d011 feat: parse while loops 2024-08-28 09:45:58 -05:00
fa4d79dbe4 feat: parse arrays 2024-08-27 18:34:30 -05:00
72bd8c50c9 feat: parse conditionals 2024-08-27 16:13:59 -05:00
4ac01099ce chore: update changelog 2024-08-13 15:19:18 -05:00
2b23e36955 feat: lex octal and binary 2024-08-13 15:05:28 -05:00
4c565df699 feat: semantic analysis for hello world 2024-08-01 10:34:08 -05:00
c0e20ad283 refactor: Dont store quotes inside string tokens 2024-07-31 10:54:17 -05:00
23b3ece588 refactor: formatting 2024-07-30 15:55:29 -05:00
9b75323dc9 feat: Scanning of nested comments 2024-07-29 17:01:35 -05:00
14c1b6f8d8 feat: Scanning of multiline comments 2024-07-29 16:38:21 -05:00
5102d25676 feat: Add interface to tokenize code from STDIN and output JSON 2024-07-05 17:49:19 -05:00
3f892e91c2 refactor(lex): dont emit newline before INDENT/DEDENT 2024-06-19 17:57:07 -05:00
b650447e06 fix(lex): don't emit NewLine if after them there is EOF 2024-06-02 18:18:32 -05:00
5dafd6ca20 refactor: begin to simplify AST 2024-06-01 18:57:10 -05:00
19cba2a7b3 Split Number into Int & Float 2024-05-06 10:13:21 -05:00
774f1d65ca Add tests 2024-03-18 17:21:02 -05:00
f60992c303 Parse function return datatype 2024-03-18 09:20:21 -05:00
b0606195f5 Use val/var again instead of let/mut 2024-03-18 08:57:28 -05:00
1348020cd7 Simplify ParseResult struct 2024-03-15 15:49:02 -05:00
a6bff95d24 Parse function call parameters 2024-01-11 19:29:19 -05:00
Araozu
02f3c9aee6 Use expressions as a function call callable 2024-01-02 12:45:45 -05:00
61de3b100f [Codegen] Minimal codegen for a Block 2024-01-02 07:06:46 -05:00
6e2b7da22f Improve code display in error msg 2023-12-26 20:39:30 -05:00
3e592392a8 Change syntax from val/var to let (mut) 2023-12-16 20:47:42 -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
5f25bae3e0 Parse minimal function declaration 2023-09-08 20:18:19 -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
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
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
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
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