Commit Graph

790 Commits

Author SHA1 Message Date
Tristan B. Velloza Kildaire 89b52ec81e Added support for multiple function parameters in a function declaration 2021-03-03 16:46:13 +02:00
Tristan B. Velloza Kildaire 162b94447c Added body parsing for functions 2021-03-03 16:30:56 +02:00
Tristan B. Velloza Kildaire 6ef78bdb3b WIP: Function parsing 2021-03-03 16:05:45 +02:00
Tristan B. Velloza Kildaire eee13e915b Added invalid test cases 2021-03-03 15:33:22 +02:00
Tristan B. Velloza Kildaire aa8c23b4c7 Error out on invalid form for `parseTypedDeclaration` 2021-03-03 15:32:28 +02:00
Tristan B. Velloza Kildaire eca6acf4bf WIP: Variable declarations with/without assignments 2021-03-03 15:17:51 +02:00
Tristan B. Velloza Kildaire 84d190f78e WIP: Variable declaration parsing 2021-03-03 14:42:57 +02:00
Tristan B. Velloza Kildaire 9b45df01a6 Updated test case 2021-03-03 14:05:28 +02:00
Tristan B. Velloza Kildaire 162dd2d7e5 Added more symbols 2021-03-03 14:05:26 +02:00
Tristan B. Velloza Kildaire 3c21a5ad3f Set expectation error printout to error 2021-03-03 14:05:20 +02:00
Tristan B. Velloza Kildaire d87bbc0061 Fixed bug whereby the current token would never increment 2021-03-03 14:04:26 +02:00
Tristan B. Velloza Kildaire f2b1956555 Added needed plumbing for parser 2021-03-03 13:30:56 +02:00
Tristan B. Velloza Kildaire 484353f6a9 Adjusted column number to be a little closer to home (might change later when I try to make column numbers more accurate) 2021-03-03 13:30:41 +02:00
Tristan B. Velloza Kildaire 49d0fc0086 Fixed column number tracking 2021-03-03 13:14:41 +02:00
Tristan B. Velloza Kildaire 85efca8b87 Compiler now reads source file 2021-03-03 13:14:28 +02:00
Tristan B. Velloza Kildaire e5cb256e8a Added test case 2021-03-03 13:14:17 +02:00
Tristan B. Velloza Kildaire c439b4792c Integrated new Token type with lexer, now tokens take with them their line number and column number 2021-03-03 12:11:57 +02:00
Tristan B. Velloza Kildaire ef554befa4 Refactored lexer state variables to instance fields rather than local variables 2021-03-03 11:45:23 +02:00
Tristan B. Velloza Kildaire 8d24f6ada2 Added new-line support
Also added tracking for line number
2021-03-03 11:41:16 +02:00
Tristan B. Velloza Kildaire 45e707b582 Added skeleton parser module 2021-03-03 11:08:34 +02:00
Tristan B. Velloza Kildaire 2ceaa0c8b0 Added Token class for future use in lexer 2021-03-03 11:05:57 +02:00
Tristan B. Velloza Kildaire 1c2684814f Added TODO to do more tests 2021-03-03 11:02:03 +02:00
Tristan B. Velloza Kildaire 0f8862aedf Corrected module placement 2021-03-03 10:54:30 +02:00
Tristan B. Velloza Kildaire 508885377f Removed TODO 2021-03-03 00:58:40 +02:00
Tristan B. Velloza Kildaire 02ed1f5af4 Addec character literal support 2021-03-03 00:37:52 +02:00
Tristan B. Velloza Kildaire a5b9837c80 Added escape sequence support 2021-03-03 00:11:16 +02:00
Tristan B. Velloza Kildaire 6c529fb67b Added more splitter characters 2021-03-02 23:36:53 +02:00
Tristan B. Velloza Kildaire 68f9bb6523 Fixed bug (and added corresponding unit test) whereby the combinator check would fail if the first element was at end-of-source 2021-03-02 23:29:19 +02:00
Tristan B. Velloza Kildaire 28ab54e852 Added more uni tests 2021-03-02 23:27:32 +02:00
Tristan B. Velloza Kildaire a7c0d37a01 Removed testing code 2021-03-02 23:22:46 +02:00
Tristan B. Velloza Kildaire f23d884b90 Fixed bug where we overshot array and added unittests 2021-03-02 23:22:42 +02:00
Tristan B. Velloza Kildaire 1b0de5776b Fixed bug whereby any splitter would result in the addition of the semi-colon, regardless of the splitter character 2021-03-02 22:44:24 +02:00
Tristan B. Velloza Kildaire acab7dd5f3 Support for several splitter characters added 2021-03-02 22:43:09 +02:00
Tristan B. Velloza Kildaire ce7ea36b0b Only flush the currentToken when encountering a semi-colon IF the currentToken is non-empty 2021-03-02 22:33:38 +02:00
Tristan B. Velloza Kildaire b178528ece Only flush token if there is one leftover 2021-03-02 22:31:53 +02:00
Tristan B. Velloza Kildaire cce91b6615 Added support for semi-colon delimiting 2021-03-02 22:31:18 +02:00
Tristan B. Velloza Kildaire 1f103bf190 Basic lexer added
Supports splitting by whitespace
Supports escaping into string mode and returning back to whitespace splitting mode
2021-03-02 22:26:35 +02:00
Tristan B. Velloza Kildaire 7a2b73a299 Call compilation entry point 2021-03-02 21:55:45 +02:00
Tristan B. Velloza Kildaire 639455d792 Added basic command-line arguments parsing 2021-03-02 21:51:49 +02:00
Tristan B. Velloza Kildaire 505764b8bb Added directory structure 2021-03-02 21:14:23 +02:00