Commit Graph
126 Commits
Author SHA1 Message Date
alex ddde99f38d String literal support. 2023-08-22 21:58:56 -07:00
alex c418694307 Implement frontend layer to simplify cli commands. 2023-08-22 19:54:21 -07:00
alex 4ec53e1209 Implement AST serialization. 2023-08-21 23:31:40 -07:00
alex 05cb52bc32 Add reprint command to regenerate program from AST. 2023-08-21 23:17:30 -07:00
alex 1445490770 An actual command line tool to run pork programs. 2023-08-21 23:08:56 -07:00
alex e12b51e8a7 Implement syntax highlighter. 2023-08-21 20:15:31 -07:00
alex 95fe6e9abb Add support for not equals (!=) infix operation. 2023-08-21 02:34:33 -07:00
alex 0b3700667d Add support for line comments. 2023-08-21 02:22:43 -07:00
alex 5455846d7a Add support for block comments. 2023-08-21 02:15:52 -07:00
alex 5f4d74008e Add check to make sure re-parsed AST is equal. 2023-08-21 00:59:55 -07:00
alex 1de73ed855 AST equals and hashCode 2023-08-21 00:58:05 -07:00
alex d92dc8d904 Restructure AST to make roles more clear. 2023-08-21 00:47:14 -07:00
alex 624b05605a Validate token soundness. 2023-08-21 00:29:14 -07:00
alex ce1e262c05 Tokenizer now always produces whitespace, parser ignores whitespace, and token DSL. 2023-08-21 00:14:58 -07:00
alex ccd10343c3 Implement negation operator. 2023-08-20 22:35:44 -07:00
alex 90df76ca33 Simple syntax example. 2023-08-20 22:25:45 -07:00
alex c5d0881893 Ensure that whitespace preservation in the tokenizer produces exact results. 2023-08-20 00:54:28 -07:00
alex 72163a2aa6 Implement token promotion. 2023-08-20 00:48:10 -07:00
alex 77329541fa WIP simple KotlinCompiler 2023-08-20 00:14:35 -07:00
alex 77a9136be7 Optional whitespace preservation. 2023-08-19 22:20:45 -07:00
alex 903f730d51 Support if without else. 2023-08-19 20:59:14 -07:00
alex cccea9c2ca If Statement Support 2023-08-19 20:40:31 -07:00
alex f1645d0924 Cleanup TokenType 2023-08-19 17:00:28 -07:00
alex ef4045ecb4 Utilize CallableFunction to avoid Java dependency. 2023-08-19 16:58:34 -07:00
alex 7bec148d79 Rename context to scope. 2023-08-19 16:52:40 -07:00
alex 6494858f02 Initial Commit 2023-08-19 15:34:10 -07:00