Commit Graph

66 Commits

Author SHA1 Message Date
mars 917c590ce9 Add mandelbrot_scalar example 2022-03-27 12:42:15 -06:00
mars 36f2cf90ab Rename simple_math() to i64_math() 2022-03-27 12:05:27 -06:00
mars 243990971d While statements 2022-03-26 23:50:37 -06:00
mars f8ec9c19d6 Translate if statements 2022-03-26 23:27:02 -06:00
mars 2098fef856 Branch local scoping 2022-03-26 22:30:58 -06:00
mars eacd907c3b Add failing if_scopes() test 2022-03-26 21:54:52 -06:00
mars de051f71b8 If expressions 2022-03-26 18:10:15 -06:00
mars 916b2a653e Mutable locals 2022-03-26 16:45:22 -06:00
mars 90c8836309 immutable let statements 2022-03-26 10:57:27 -06:00
mars 9e2786d593 simple_args() test 2022-03-26 10:17:29 -06:00
mars f45cbe64f3 simple_math() test 2022-03-26 09:50:49 -06:00
mars 3626e2c994 Cleanup source formatting 2022-03-26 09:43:22 -06:00
mars 716ad3e4e9 Translate function (no args yet) 2022-03-26 09:42:59 -06:00
mars c884287d33 Add initial JIT compilation 2022-03-25 21:21:24 -06:00
mars ae2a0122d8 Derive more traits for ast 2022-03-25 21:09:45 -06:00
mars 8bfd99fc20 Initial PestParser BuildAst impl 2022-03-25 18:34:43 -06:00
mars 26b339adba Example unit tests w/ macro + BuildAst::build_source_ast() 2022-03-25 18:18:17 -06:00
mars 70c90b5998 Remove AST self-parsing 2022-03-25 17:35:38 -06:00
mars d1fb0600f8 Pass RecursiveDescent tests 2022-03-25 17:30:26 -06:00
mars fb50827f2f WIP dedicated recursive descent module 2022-03-25 17:26:06 -06:00
mars 62109e84ad Move ParseTree to ast::Ast 2022-03-25 16:16:02 -06:00
mars 3172d7d460 Remove token color theming 2022-03-25 16:09:10 -06:00
mars 24414dcdd1 Move lexer into parse:: 2022-03-25 16:07:03 -06:00
mars 15687c337c Move pest parser into module 2022-03-25 15:57:34 -06:00
mars b47137d27d Add WIP Pest grammar 2022-03-25 00:35:36 -06:00
mars 1eed7487ca Clean up a little 2022-03-03 20:44:42 -07:00
mars 01bb85d386 "Fix" examples and add TODOs for later syntax 2022-03-03 20:26:45 -07:00
mars 9c1709e134 NameVec support 2022-03-03 20:04:03 -07:00
mars 4fa03f2891 Add \r whitespace for Windows (🤮) support 2022-03-03 19:57:25 -07:00
mars 0a0838ac9c Initial symbol table 2022-03-03 12:14:39 -07:00
mars dba171eb53 Pad token info line with spaces instead of 0 2022-03-03 10:11:55 -07:00
mars 7fbe47f0bb Fix spelling of parEntheses 2022-03-02 15:01:55 -07:00
mars 0f90e8108c While loop 2022-03-02 14:51:18 -07:00
mars 1f66a5f94b Unary operators 2022-03-02 14:18:40 -07:00
mars 8c2af9ab61 Support else-if expressions (but not statements yet) 2022-03-02 14:05:12 -07:00
mars 2beb493aad Support if statements AND expressions (pogchamp) 2022-03-02 13:20:27 -07:00
mars 0604818b0e Remove [de/in]crement operator (for now) 2022-03-02 13:18:13 -07:00
mars 7a1df3f58d Lex and parse string literals 2022-03-02 12:40:46 -07:00
mars 7b0aa4454e lex_file() test lexes clock.fae 2022-03-02 12:30:47 -07:00
mars 307b53a31c Decimal float literals 2022-03-02 11:54:28 -07:00
mars 4c297eb957 Parse mutable interface functions 2022-03-02 10:21:10 -07:00
mars 79b8b8ea3d Add Clock12Hr example 2022-03-02 10:05:19 -07:00
mars 4cd65504f2 Impl blocks 2022-03-02 10:02:38 -07:00
mars d15fd0c748 Parse submembers and function calls 2022-03-01 13:58:58 -07:00
mars 732d80dd9a Lex and parse bool literals 2022-03-01 13:08:18 -07:00
mars 6217b83cd8 If expressions 2022-03-01 13:06:38 -07:00
mars 0a795f1450 Parse function calls 2022-03-01 12:53:20 -07:00
mars 1d7007ab9a Expression parantheses nesting 2022-03-01 12:26:13 -07:00
mars 24e5ac2aef Parse boolean and bitwise ops 2022-03-01 11:19:04 -07:00
mars 4fcad8c6a4 Refactor mutability 2022-03-01 10:27:41 -07:00