Sasha Koshka
067bf2f4df
Altered tree so that object members are stored in an array
2022-08-24 20:09:57 -04:00
c470997887
Did the same thing to interfaces
2022-08-24 18:57:07 -04:00
e316eb7791
Changed bit field syntax to use an & symbol
2022-08-24 18:37:44 -04:00
fb43f96acc
Added bit fields to tree and ToString for object member
2022-08-24 18:22:47 -04:00
Sasha Koshka
0d366964ca
Enum members are now ordered
2022-08-24 01:16:44 -04:00
Sasha Koshka
0b80a55f79
Repaired output formatting of interface section
2022-08-24 00:53:42 -04:00
Sasha Koshka
1f88b54eaa
Face sections are actually ToString'd now
2022-08-23 22:25:21 -04:00
3ef1e706b3
Added ToString method to face section
2022-08-23 13:54:44 -04:00
Sasha Koshka
5dcf3b3d1a
Fixed ToString formatting of enum
2022-08-23 01:33:28 -04:00
Sasha Koshka
d8074fa5cb
Enum default values are now parsed properly
...
Previously the parser would stay on the member name and parse it the default
value. It now moves forward and catches the actual default value.
2022-08-23 01:30:56 -04:00
Sasha Koshka
59126f60cc
Added enum sections to tree
2022-08-21 02:40:04 -04:00
Sasha Koshka
0ceaedbcd8
Object sections now ToString properly
2022-08-20 13:42:09 -04:00
Sasha Koshka
fc1568aece
Updated ToString methods to match new tree structure
2022-08-20 12:40:44 -04:00
Sasha Koshka
9b4279c052
Fixed ToString of type nodes
2022-08-19 03:03:36 -04:00
Sasha Koshka
19d0b3f455
Complex default values of type nodes now ToString properly
2022-08-19 02:36:56 -04:00
Sasha Koshka
69aaae8f14
Restructured type definitions to use a node tree
2022-08-18 23:38:32 -04:00
Sasha Koshka
ef90115a1b
Fixed some test case formatting
2022-08-18 20:09:04 -04:00
Sasha Koshka
cced825f74
Changed this one thing to the other thing
2022-08-18 19:40:35 -04:00
Sasha Koshka
9fd3fb1263
Added basic ToString method to TypeSection
2022-08-18 17:45:34 -04:00
Sasha Koshka
63110d9a32
Removed bad spacing in ObjectInitializationValues.ToString
...
If a value had more initialzation values inside of it, it would leave a space
before the newline. This was causing the parser test to believe the parser to be
failing. The parser now passes the test.
2022-08-17 19:40:16 -04:00
Sasha Koshka
98fb4e9c66
In ToString methods, maps are sorted alphabetically before output
...
This makes the output of ToString methods deterministic, and as such they can be
used for testing.
2022-08-17 13:50:33 -04:00
Sasha Koshka
7bb6582e01
Added default nil argument kind
2022-08-17 01:07:12 -04:00
Sasha Koshka
0ad1c0b2f4
Fixed extraneous newlines after complex initialization values
2022-08-17 01:04:52 -04:00
Sasha Koshka
0dd9368393
Reworked data section so it stores single initialization argument
2022-08-17 00:49:49 -04:00
Sasha Koshka
bd456b72e9
Argument.ToString can now recover on nil interface value
2022-08-17 00:13:14 -04:00
Sasha Koshka
eb3fb65c9b
Changed object initialization values to be a map
2022-08-16 23:45:25 -04:00
Sasha Koshka
97cb6e54eb
Type.ToString now understands array lengths
2022-08-16 20:53:27 -04:00
Sasha Koshka
5e2d8c9955
Parser can now ToString data sections properly
2022-08-16 16:37:20 -04:00
Sasha Koshka
9cb2f68581
Argument kind is now called .kind instead of .what
2022-08-16 15:50:34 -04:00
Sasha Koshka
e42bad5810
Identifiers can no longer have arguments in them
...
Previously [[something something].something] would have been syntactically
correct. This can lead to ugly and cluttered syntax due to violating the one
thing per line guideline (that I've forgotten to write down) and would make the
parser incredibly convoluded. Member selection in arf is not an operator and
should not be treated as such. It would be much better to just use variables for
this.
2022-08-15 17:05:57 -04:00
Sasha Koshka
3a3c588023
Added data test
2022-08-15 14:23:53 -04:00
Sasha Koshka
d91423863b
Added ToString methods for syntax tree nodes
2022-08-15 14:04:57 -04:00