glm94
|
4af2527806
|
Updated the structure of symbols and tokens to hopefully help make computing symbol values easier.
|
2023-08-07 01:18:01 -05:00 |
|
glm94
|
0eaa5527ea
|
Updated the parser to be able to handle the changes made to the ISA.
|
2023-06-18 00:50:18 -05:00 |
|
glm94
|
5e9e1bdec4
|
Massive refactoring to simplify this whole setup. The Token List will be modified in place and reused in the Parser to normalize the list and generate a symbols table. Normalizing the token list will make sure the syntax is valid and the symbols table will have the relative offsets and length of symbol values. At least this is all the plan but one step at a time.
|
2023-03-06 21:51:36 -06:00 |
|
glm94
|
1b246e90bc
|
Started rethinking how this machine should behave. Updated and refactoring some things with a few new ideas.
|
2023-02-23 22:22:07 -06:00 |
|
glm94
|
55f4c32764
|
Missed this for the Scanner fix.
|
2022-10-02 22:12:16 -05:00 |
|
glm94
|
2ae60a607c
|
Incomplete, but I want to make sure the ideas I have here don't get wiped. Sadly this commit won't compile.
|
2022-09-15 21:29:27 +00:00 |
|
glm94
|
6d17dffcdf
|
Added a SymbolTable object (untested at the moment) and redefined the Symbol object. I think when a Symbol is made only the size of it should matter to the code that will assemble the final binary.
|
2022-09-08 20:56:02 +00:00 |
|
glm94
|
7004fff659
|
This feels like a trainwreck but eh. Changed the way the opcodes are managed. Hopefully this is the right direction when I add support for multiple ASM files.
|
2022-09-01 18:46:59 +00:00 |
|
glm94
|
13f8ff194b
|
Smoothbrain indeed...
|
2022-08-30 22:48:49 -05:00 |
|
glm94
|
dac01ffd0c
|
Changed the TokenClass from opcode to nomic, a less smoothbrain name IMO and also frees up Opcode for a better use later on.
|
2022-08-30 22:06:50 -05:00 |
|
glm94
|
5f437b6869
|
Both the assembler and the disassembler should now support all the instructions I've layed out thus far.
|
2022-08-29 18:51:48 +00:00 |
|
glm94
|
0785f21805
|
Added a disassembler which is still very buggy. Also fixed some bugs with the opcode mask getting function.
|
2022-08-26 21:41:02 +00:00 |
|
glm94
|
eb5e2c506e
|
Got the start of encoding opcodes.
|
2022-08-26 18:27:41 +00:00 |
|
glm94
|
0e53f9798f
|
Added a distinction between constant numbers and what are effectively memory addresses (i.e. strings and labels).
|
2022-08-25 19:47:16 -05:00 |
|
glm94
|
64326937b1
|
Added a LineEnd token type.
|
2022-08-25 18:37:25 +00:00 |
|
glm94
|
3c4cce0883
|
Added assembler directives as a class of token.
|
2022-05-16 14:27:49 +00:00 |
|
glm94
|
2de3538d80
|
Parser is now mostly setup for the 'peek and advance' pattern. Still having infinite loop issues somewhere though.
|
2022-05-12 21:30:02 +00:00 |
|
glm94
|
72525959f6
|
Reworked the tokens to include a broad class to make parameter matching a bit easier, and removed the hexadecimal distinction.
|
2022-05-12 20:26:14 +00:00 |
|
glm94
|
8ec0b9b216
|
Code cleanup. Converting a number lexeme to a proper integer setup but not done yet. So number tokens don't have a valid value.
|
2022-05-05 16:12:33 +00:00 |
|
glm94
|
9fa48520c7
|
Added support for 'labels' in the Scanner.
|
2022-05-04 22:58:06 -05:00 |
|
glm94
|
2c9478d311
|
Attempting to declutter the lexer and tokenizer by rereolling them into the 'Scanner' object.
|
2022-05-03 21:20:38 +00:00 |
|