Commit Graph

1146 Commits

Author SHA1 Message Date
f2c0786bfb Simplify "run" function 2024-08-11 21:42:16 -04:00
de30f241a8 Refactor function call dot notation; Add better analysis of function calls and property access 2024-08-11 21:37:44 -04:00
c0254e8a94 Refactor to use type checking 2024-08-11 19:18:13 -04:00
77814c4576 Begin refactoring to use type checking 2024-08-11 19:00:37 -04:00
7259206c98 Add analyzing built-in function calls 2024-08-11 18:11:59 -04:00
3a2dd28efb Improve error layout 2024-08-11 18:01:35 -04:00
3b0c74010e Rename modules 2024-08-11 17:24:05 -04:00
f5836b66dc Clean up 2024-08-11 16:57:52 -04:00
9a9d9458ae Clean up block/map parsing code 2024-08-11 15:39:42 -04:00
9338d73621 Add to_string function; Get fizzbuzz example working 2024-08-11 15:12:19 -04:00
28c65b0715 Clean up control flow code in the VM; Remove returns from if and if/else_if statements 2024-08-11 15:03:26 -04:00
0c73f80947 Implment control flow lexing and parsing 2024-08-11 14:35:33 -04:00
24e21aa0b5 Add test; Attempt to clean up map and block parsing 2024-08-11 13:16:16 -04:00
37e3e1116d Add while loops 2024-08-10 05:23:43 -04:00
1687fd7fe3 Clean up; Add an analyzer test 2024-08-10 04:45:30 -04:00
a46e5dd365 Fix remaining doc tests 2024-08-10 04:32:27 -04:00
8f0d07b546 Fix parsing bug and some docs tests 2024-08-10 04:29:46 -04:00
f2823b6236 Tweak operator precedence 2024-08-10 00:14:38 -04:00
2ae75dcdd0 Make meticulous changes to pratt parser 2024-08-10 00:01:50 -04:00
9ea203f419 Use context and replace old variable map 2024-08-09 21:12:36 -04:00
e1b04328d5 Add context 2024-08-09 20:52:13 -04:00
f50b765c1e Clean up 2024-08-09 20:24:18 -04:00
82fbf796f3 Implement postfix parsing 2024-08-09 18:14:46 -04:00
60f8aab805 Refactor pratt parser 2024-08-09 14:01:01 -04:00
ed82f3c64f Lex, parse and run maps and blocks 2024-08-09 11:41:23 -04:00
f389f7e422 Implement equality operation 2024-08-09 07:15:09 -04:00
24a2642f17 Add modulo support 2024-08-09 07:02:55 -04:00
2cf580d111 Add division 2024-08-09 06:46:24 -04:00
a048577143 Improve assignment parsing 2024-08-09 06:32:44 -04:00
929468338d Add map parsing 2024-08-09 06:09:59 -04:00
55a8661618 Begin adding maps 2024-08-09 05:18:39 -04:00
d0dba35285 Add && and || operators 2024-08-09 04:56:24 -04:00
8c8fde94ce Refactor the abstract syntax tree 2024-08-09 04:23:02 -04:00
b9081f8653 Add comparison statement to replace four separate statements 2024-08-09 03:00:48 -04:00
580b85e2d0 Clean up tokens 2024-08-09 01:55:34 -04:00
83018ec5ec Improve error reports 2024-08-09 01:43:58 -04:00
c1b71ffccc Refactor errors and clean up read_line 2024-08-09 00:49:17 -04:00
9766777a47 Expand lexing of complex floats 2024-08-09 00:31:38 -04:00
60bd8f5352 Implement subtraction and multiplication 2024-08-08 23:28:47 -04:00
57782d3ed6 Clean up docs 2024-08-08 22:44:34 -04:00
cccbe7a325 Write docs 2024-08-08 21:59:09 -04:00
77134e5292 Begin adding fancy errors 2024-08-08 21:47:49 -04:00
4805a53269 Begin expanding errors 2024-08-08 20:58:56 -04:00
fa2ce8a0bf Refactor TokenOwned and add some docs 2024-08-08 20:22:27 -04:00
bf519ec087 Borrow string slices instead of copying them in lexing 2024-08-08 16:19:14 -04:00
1c24286696 Improve identifier cache 2024-08-08 14:58:12 -04:00
d5d51e9849 Clean up 2024-08-08 13:57:53 -04:00
a52e78150e Add lexing and parsing for I/O built-in functions; Refactor built-in function parsing 2024-08-08 13:49:40 -04:00
8dd62e623e Refactor add statement analysis to allow strings 2024-08-08 13:21:27 -04:00
a639641ed2 Parse strings and string concatentation 2024-08-08 13:11:32 -04:00