Commit Graph

41 Commits

Author SHA1 Message Date
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
mars 9d074ddd19 Tail expressions, integer literal exprs 2022-03-01 10:06:47 -07:00
mars 1b36737203 Abbreviate lengthy type names 2022-03-01 09:23:36 -07:00
mars 018427751f Parse interface definitions 2022-03-01 09:19:26 -07:00
mars adf12c2ecd Reserve more tokens 2022-03-01 08:46:34 -07:00
mars 55ac70803c Add failing interface parse test 2022-03-01 08:43:18 -07:00
mars 63943687e3 Basic expression parsing 2022-02-28 19:58:34 -07:00
mars 49b3634228 Add GPL license 2022-02-28 15:43:27 -07:00
mars 698c914633 Improve parser error handling 2022-02-28 14:36:24 -07:00
mars 04c0dc35a6 Refactor unit tests 2022-02-28 13:33:32 -07:00
mars 2df63504e0 Remove debug messages from lexer 2022-02-28 13:21:35 -07:00
mars bc4d58ffa2 Fix old .ktn file includes 2022-02-28 13:20:04 -07:00
mars 889e078328 Rename Katana to Sprite 2022-02-28 13:09:33 -07:00
mars 2e170879ea Add TokenInfo for error logging, hopefully 2022-02-27 17:07:09 -07:00
mars f473fe324e Parse function signatures and skip over bodies 2022-02-27 15:27:24 -07:00
mars afbc34ebd0 Initial AST + basic struct parsing 2022-02-27 15:27:11 -07:00
mars b7678dc218 Basic lexer 2022-02-27 15:28:19 -07:00