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
|
0d3f8a460e
|
Added more instructions for the parser to emit and refactored the code in doing so.
|
2022-08-28 15:37:56 -05: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
|
72abf6c4ab
|
Started work on rewriting the Parser.
|
2022-05-10 21:03:09 +00:00 |
|
glm94
|
fbef044905
|
Added some simple symbol handling to the Parser.
|
2022-05-06 18:55:22 +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
|
859035da2a
|
Updated the scanner to parse registers, assembly keywords and identifiers.
|
2022-05-04 20:07:47 +00: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 |
|
glm94
|
1900b504e7
|
Setup the assembler to use the new file reading code.
|
2022-04-28 22:24:10 -05:00 |
|
glm94
|
1968590654
|
Add a file utility to allow me to read in an entire file instead of doing so line by line.
|
2022-02-23 21:29:53 +00:00 |
|
glm94
|
19021ff782
|
Modified how registers and opcodes are represented. This commit is a bit buggy but doesn't crash and burn at least. I just wanted the new structs push out before making a bigger mess of things as I try to organize this all.
|
2022-02-17 21:35:57 -06:00 |
|
glm94
|
3d4ab57f05
|
Created the skeleton for the parser.
|
2022-02-07 15:33:58 +00:00 |
|
glm94
|
7c6e5e1541
|
Last bit of clean up before building the parser.
|
2022-02-02 20:43:25 +00:00 |
|
glm94
|
d39e37b078
|
Updated the lexer to pick out some more language specific grammar.
|
2022-02-02 19:18:27 +00:00 |
|
glm94
|
7a88d6e34d
|
Added code to detect assembler directives and did some minor code clean up.
|
2022-02-01 22:07:00 -06:00 |
|
glm94
|
ebc1d30c1c
|
Added a peek function to the tokenizer.
|
2022-01-31 22:06:52 +00:00 |
|
glm94
|
375fd46045
|
Split up some code to more in line with what its actually doing.
|
2022-01-27 18:20:09 +00:00 |
|
glm94
|
f88613a160
|
Expanded the tokenizer to recognize some opcodes and registers.
|
2022-01-24 17:09:02 +00:00 |
|
glm94
|
2570c5cac0
|
Made some chanegs to the tokenizer to understand hexadecimal formatted numbers, along with some more language grammar primitives.
|
2022-01-23 21:54:06 -06:00 |
|
glm94
|
99ebd82996
|
Experimenting with tokenizing strings. This commit just focuses on splitting strings up by whitespace.
|
2022-01-20 18:17:58 +00:00 |
|
glm94
|
479dc57ea8
|
Code cleanup in the List code. Possibly saved myself some headache in the future by using the right pointer type in the struct definition.
|
2022-01-18 16:28:49 +00:00 |
|
glm94
|
929f2a7f4b
|
Made the List generic, though more care needs to be taken when using it since memory leaks can happen when structs are used with it.
|
2022-01-17 17:21:40 +00:00 |
|
glm94
|
2d3b6f1858
|
Changed the signatures of some of the List functions to have the 'const' contract. I feel this makes more sense to have since these functions are to not modify all or some of their parameters. Plus it just feels right to have them defined this way.
|
2022-01-05 16:02:06 +00:00 |
|
glm94
|
08acc6af22
|
First stage of splitting up a source line complete. Next is tokenizing the list of string being generated.
|
2021-12-30 15:21:09 -06:00 |
|
glm94
|
168d8e1548
|
Created a list structure for strings. Should work for splitting lines of text up just before they're tokenized.
|
2021-12-30 14:28:02 -06:00 |
|