Commit Graph
27 Commits
Author SHA1 Message Date
glm94 3044f23bcc Creating an object of type Boolean should work correctly, as long as the Boolean value being passed is done so as a double*. 2022-03-14 16:52:47 +00:00
glm94 f666585f5f More refactoring trying to get this cleaned up while trying to keep it easy(ish) to extend for later chapters. I'll never take namespaces for granted again... 2022-03-09 21:13:52 +00:00
glm94 e802c57a93 Trying a more object oriented approach and created an 'Object' struct to have metadata for the values the interpreter works with. 2022-03-08 22:08:06 +00:00
glm94 2d587e75b1 Extemely broken, but all the code up to 7.3 should be here, now the refactoring begins to make it C code and not Java code. 2022-03-07 19:22:39 +00:00
glm94 d39d20aa6e Added a reminder in the Parser in the event of bad syntax. 2022-03-07 18:13:35 +00:00
glm94 5ea8079090 Updated the token to more reflect what was implemented in the book. Maybe not the right way to handle it but perhaps this setup will come in handy in later chapters. 2022-03-03 19:39:12 +00:00
glm94 caf4f02428 Minor cleanup. 2022-03-03 17:12:01 +00:00
glm94 d039a26c16 Fixed some bugs with the Scanner and Parser. 2022-03-02 22:30:53 -06:00
glm94 7bf7304bd4 Attempting to print the expression tree. I think the printing code is fine but the Parser is bugged and not building the tree correctly. 2022-03-02 21:43:22 +00:00
glm94 221d575c16 Further refactoring done. The Parser runs without crashing, however it's output is still to be checked and verified. 2022-03-02 21:24:58 +00:00
glm94 e20ccb8cfb The Scanner has been refactored and some responsibilities were pulled from it. Confirmed working, the Parser still needs to be touched on however. 2022-03-02 20:52:40 +00:00
glm94 1b33468343 Added a Makefile, removed the build script and had to modify the function names for either the scanner or parser so they didn't collide. Refactoring should be the next step here. 2022-03-01 18:03:57 +00:00
glm94 41a04094e2 Added untested parser code, meaning most of chapter 6 has been implemented (but most likely, very poorly). 2022-02-28 20:13:59 +00:00
glm94 b72645aed0 Did a bit of refactoring and fixed the syntax so the union structs all have proper names. 2022-02-22 20:12:12 +00:00
glm94 693519a248 Starting chapter 5 now. This is the first part needed to start implementing the syntax tree. 2022-02-22 19:30:44 +00:00
glm94 227d566261 Not the cleanest way to do this but added in keyword detection. 2022-02-17 21:52:26 +00:00
glm94 c55a3434de Implemented identifier detection but keywords in the programming language aren't detected yet. 2022-02-15 16:32:35 +00:00
glm94 aa7dff31ff Implemented number parsing. 2022-02-15 15:59:17 +00:00
glm94 f1a468aebc Added support for string literals. 2022-02-14 19:38:49 +00:00
glm94 5b90c98123 Fixed the '!=' detection bug. 2022-02-14 17:21:35 +00:00
glm94 db54e8f888 Added Peek() and Match() as well as a bugged '!=' detection. 2022-02-14 17:06:30 +00:00
glm94 7bdbb9f53a Refactored the scanner and updated the Token struct to store the length of its lexeme to avoid malloc()ing new strings for every token. 2022-02-10 17:17:33 +00:00
glm94 2d84019e58 Created the list structure for the tokens to be stored and some helper functions. 2022-02-09 21:47:54 +00:00
glm94 d6a3935588 Setup a skeleton for the scanner. 2022-02-09 19:53:57 +00:00
glm94 68882d05a3 Added an interactive shell, well the start of one. 2022-02-07 19:53:29 +00:00
glm94 8dbd655c43 Implemented the file reading routine and added the skeleton for the interpreter. 2022-02-07 19:25:08 +00:00
glm94 00cad6336b Initial commit 2022-02-04 16:15:25 +00:00