e0a04e68e3
Did the same thing but with permissions
2022-09-03 23:03:09 -04:00
ef375810fb
Did the same thing with type specifiers
2022-09-03 22:56:08 -04:00
8e74216430
Names are now composed from a nameable struct
2022-09-03 22:33:34 -04:00
729ae78eae
Location is now included in structs via composition
2022-09-03 22:17:05 -04:00
1274eeb400
Parser now uses new equal signs
2022-09-03 20:32:27 -04:00
ac548bf438
loc
will be the referencing "operator"
2022-09-03 16:24:13 -04:00
977ecba78c
The entirety of phrase command parsing is in one function
...
This function is also responsible for setting a kind attribute on
the phrase. This will make the semantic analyzer's job easier.
2022-09-03 15:49:47 -04:00
bcd44828dc
Blocks under control flow phrases now parse
...
... except for switch cases. This will be added momentarily.
2022-09-03 15:22:18 -04:00
257d22b6f7
Parser no longer skips token after an argument level phrase
2022-09-03 12:54:41 -04:00
ac7074a819
Added support for "external" keyword
2022-09-02 01:25:22 -04:00
7deacff330
AST supports function output default values
2022-09-01 17:13:40 -04:00
65c213f1f3
Fixed import paths
2022-08-30 01:11:10 -04:00
Sasha Koshka
e630ec6f04
Added function section to tree
2022-08-25 12:02:43 -04:00
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
715766edb4
Objects can only inherit by specifiying an identifier
2022-08-24 18:52:31 -04:00
731cc828ce
Added untested bit width parsing
2022-08-24 18:29:15 -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
8817d72cb3
Interfaces can inherit other interfaces
2022-08-23 13:56:59 -04:00
Sasha Koshka
cd55a0ad8d
Add interface section to tree
2022-08-23 10:56:37 -04:00
Sasha Koshka
c4f763af5b
Added test case for enum section
2022-08-21 02:48:36 -04:00
Sasha Koshka
59126f60cc
Added enum sections to tree
2022-08-21 02:40:04 -04:00
Sasha Koshka
cb2264977a
Added object sections to the tree for real lol
2022-08-20 13:24:56 -04:00
Sasha Koshka
fc1568aece
Updated ToString methods to match new tree structure
2022-08-20 12:40:44 -04:00
Sasha Koshka
222c47ced9
Altered tree to separate object and blind type definitions
2022-08-20 02:46:40 -04:00
Sasha Koshka
69aaae8f14
Restructured type definitions to use a node tree
2022-08-18 23:38:32 -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
5c2a7aeb07
Created base for type section parsing
2022-08-18 17:39:19 -04:00
Sasha Koshka
bc9beb0317
Created test case for type section
2022-08-18 16:56:42 -04:00
Sasha Koshka
8c03aa880b
Reworked array initialization value parsing
2022-08-17 11:30:17 -04:00
Sasha Koshka
0dd9368393
Reworked data section so it stores single initialization argument
2022-08-17 00:49:49 -04:00
Sasha Koshka
eb3fb65c9b
Changed object initialization values to be a map
2022-08-16 23:45:25 -04:00
Sasha Koshka
9cb2f68581
Argument kind is now called .kind instead of .what
2022-08-16 15:50:34 -04:00
Sasha Koshka
4dfb327558
Add subscript and dereference argument kinds
2022-08-16 13:43:36 -04:00
Sasha Koshka
f978621673
Parse basic information about data sections (name, type)
2022-08-16 10:44:02 -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
614b5664fc
Parser calls ParseDataSection
2022-08-15 15:09:07 -04:00
Sasha Koshka
d91423863b
Added ToString methods for syntax tree nodes
2022-08-15 14:04:57 -04:00
Sasha Koshka
b02ff6cda6
Created structs needed to represent a data section
2022-08-15 01:47:42 -04:00
2019c67bbb
Created basic test for parser
2022-08-12 11:55:17 -05:00
09170e390d
Created base for parser
...
The parser now handles file opening and invokes the lexer.
2022-08-12 10:11:43 -05:00