|
f9187ea583
|
Created getters for func section
|
2022-09-05 10:39:46 -04:00 |
|
|
e06de0ad9a
|
same thing forf phrases and blocks
|
2022-09-05 02:04:37 -04:00 |
|
|
caeed943a3
|
Added accessors for FaceSection and FaceBehavior
|
2022-09-05 01:21:51 -04:00 |
|
|
bc4b2bd33c
|
Added accessors for ObjtSection and EnumSection
|
2022-09-05 01:09:29 -04:00 |
|
|
88de6f0908
|
Added accessors to Argument and ObjtMember
|
2022-09-05 01:05:03 -04:00 |
|
|
319ed789bf
|
Added accessors to ArrayInitializationValues
|
2022-09-04 23:47:56 -04:00 |
|
|
3ae8209712
|
asdjkhaslkjhlkfjhaslkdjhalksjdlksdjalskdj
|
2022-09-04 22:40:26 -04:00 |
|
|
89834ac390
|
The syntax tree is no longer passed by reference
|
2022-09-04 22:30:14 -04:00 |
|
|
7af575e865
|
Added TypeKindVariableArray
|
2022-09-04 22:27:06 -04:00 |
|
|
57b98636d0
|
Added accessors for Identifier and Type
|
2022-09-04 22:19:19 -04:00 |
|
|
691df94ef4
|
Removed many cringe pass-by-references
|
2022-09-04 19:55:47 -04:00 |
|
|
f3c72f8f30
|
The section kind specific maps are gone
I've REPLACED IT with the unified sections map. Interfaces, baby!
|
2022-09-04 19:30:59 -04:00 |
|
|
9269161138
|
Tree returns a section interface when given a name
|
2022-09-04 17:13:49 -04:00 |
|
|
d930e72c0c
|
Added more methods to the section interface
|
2022-09-04 14:04:48 -04:00 |
|
|
ded0ce58ec
|
Created Section interface
|
2022-09-04 14:02:48 -04:00 |
|
|
899f4815bc
|
Did the same thing with default values
|
2022-09-04 03:31:35 -04:00 |
|
|
e0a04e68e3
|
Did the same thing but with permissions
|
2022-09-03 23:03:09 -04:00 |
|
|
3f7c779e2b
|
Got rid of useless setters for the traits
|
2022-09-03 22:58:35 -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 |
|
|
aff2e55aa5
|
Separated data.go
|
2022-09-03 20:16:49 -04:00 |
|
|
6446cbfafc
|
The test case was wrong
|
2022-09-03 20:07:25 -04:00 |
|
|
9fb75e0228
|
Function output default values are ToString'd
|
2022-09-03 19:49:08 -04:00 |
|
|
16e06aacb8
|
Set phrase initialization values ToString correctly
|
2022-09-03 19:24:09 -04:00 |
|
|
bf2839508d
|
Set phrase initiailzation values are now parsed correctly
|
2022-09-03 16:37:36 -04:00 |
|
|
c6428f6f8e
|
Blocks under phrases are parsed according to phrase kind
|
2022-09-03 16:28:36 -04:00 |
|
|
ac548bf438
|
loc will be the referencing "operator"
|
2022-09-03 16:24:13 -04:00 |
|
|
48f72e614b
|
parsePhraseCommand also generates a phrase kind value
|
2022-09-03 16:06:29 -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 |
|
|
7bde082f36
|
Switch cases are parsed now
|
2022-09-03 15:38:57 -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 |
|
|
837b1c76a4
|
Parser is more restrictive of phrase commands
|
2022-09-03 13:19:47 -04:00 |
|
|
de7234f4d7
|
Parsing return direction works
|
2022-09-03 13:14:38 -04:00 |
|
|
645456bb48
|
Fixed func section test case formatting
|
2022-09-03 12:56:20 -04:00 |
|
|
257d22b6f7
|
Parser no longer skips token after an argument level phrase
|
2022-09-03 12:54:41 -04:00 |
|
|
f592e1cc43
|
Properly ToString'd operator phrase commands
|
2022-09-03 11:43:02 -04:00 |
|
|
0872eb51a1
|
Separated phrase parsing into its own file
|
2022-09-03 11:37:07 -04:00 |
|
|
1efd77acfe
|
Partially implemented operator phrase commands
|
2022-09-03 11:34:13 -04:00 |
|
|
c2a8c4cd97
|
Added new token kind slices to func.go
|
2022-09-03 00:40:56 -04:00 |
|
|
b220f3dab5
|
Definition arguments are now parsed correctly
|
2022-09-03 00:17:25 -04:00 |
|
|
689200085a
|
Putting pointers in interfaces is incredibly stupid
|
2022-09-03 00:01:01 -04:00 |
|
|
dbbe0198d5
|
Phrases in functions are now ToString'd
|
2022-09-02 23:38:30 -04:00 |
|
|
eee50dc9b0
|
Added argument level phrase parsing
|
2022-09-02 22:43:48 -04:00 |
|
|
44021fe875
|
Added some primitive phrase parsing
|
2022-09-02 22:37:52 -04:00 |
|
|
fccb67e5c0
|
Added basic func section ToString
|
2022-09-02 02:36:14 -04:00 |
|
|
ed44795664
|
Lexer now rejects strange chars in integer literals
|
2022-09-02 01:37:58 -04:00 |
|
|
ac7074a819
|
Added support for "external" keyword
|
2022-09-02 01:25:22 -04:00 |
|
|
08f111ccbf
|
Various fixes to function parsing
- Newlines are handled better
- Types are actually parsed
|
2022-09-01 22:10:57 -04:00 |
|
|
bcb1b9b6d2
|
parseFuncSection calls parseFuncArguments now
|
2022-09-01 21:43:56 -04:00 |
|
|
8ccfc935ab
|
Test logs error even if tree is nil
|
2022-09-01 21:37:15 -04:00 |
|
|
fcfa672652
|
Cleaned some go vet warnings
|
2022-09-01 18:40:51 -04:00 |
|
|
f585e5119f
|
Removed useless logging in objt sections
|
2022-09-01 18:03:01 -04:00 |
|
|
aec266a82e
|
Fail test on nil tree
|
2022-09-01 18:02:14 -04:00 |
|
|
8d46188f6c
|
Throw an error on malformed func arguments list
|
2022-09-01 17:55:57 -04:00 |
|
|
5371c0eeae
|
Added untested parsing of function arguments
|
2022-09-01 17:42:56 -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 |
|
|
c3b6330b22
|
Added base function parsing
|
2022-08-25 20:01:12 -04:00 |
|
|
723b506005
|
Added test code for function sections
|
2022-08-25 16:08:18 -04:00 |
|
Sasha Koshka
|
e630ec6f04
|
Added function section to tree
|
2022-08-25 12:02:43 -04:00 |
|
Sasha Koshka
|
b7631530bc
|
yeah
|
2022-08-24 23:54:06 -04:00 |
|
Sasha Koshka
|
fa1d8efe55
|
Its just as I feared. Identifier parsing doesn't work!
|
2022-08-24 23:50:16 -04:00 |
|
Sasha Koshka
|
89a60e620e
|
Altered objt section test case to not be alphabetically organized
|
2022-08-24 20:20:55 -04:00 |
|
Sasha Koshka
|
cd528552c8
|
Object sections now parse members into array
|
2022-08-24 20:19:14 -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 |
|
|
e316eb7791
|
Changed bit field syntax to use an & symbol
|
2022-08-24 18:37:44 -04:00 |
|
|
731cc828ce
|
Added untested bit width parsing
|
2022-08-24 18:29:15 -04:00 |
|
|
05aa0e6177
|
Added bitfields to object section test case
|
2022-08-24 18:23:11 -04:00 |
|
|
fb43f96acc
|
Added bit fields to tree and ToString for object member
|
2022-08-24 18:22:47 -04:00 |
|
Sasha Koshka
|
b64fbd9fc4
|
Split tests into multiple files
This should make it easier to work on sections independantly of one another
without creating merge conflicts
|
2022-08-24 01:22:24 -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
|
08935d69c0
|
Parser actually adds interface behavior to interface
|
2022-08-24 00:52:37 -04:00 |
|
Sasha Koshka
|
39f8d7e4ac
|
Fixed parsing of interface section behaviors
|
2022-08-24 00:25:52 -04:00 |
|
Sasha Koshka
|
1f88b54eaa
|
Face sections are actually ToString'd now
|
2022-08-23 22:25:21 -04:00 |
|
|
b0d4ecc83f
|
Added interface section parsing to body
|
2022-08-23 15:14:44 -04:00 |
|
|
4eac5c67aa
|
Added untested interface section parsing
|
2022-08-23 15:13:00 -04:00 |
|
|
441b036a1c
|
Updated test case to reflect previous commit
|
2022-08-23 14:07:56 -04:00 |
|
|
8817d72cb3
|
Interfaces can inherit other interfaces
|
2022-08-23 13:56:59 -04:00 |
|
|
3ef1e706b3
|
Added ToString method to face section
|
2022-08-23 13:54:44 -04:00 |
|
|
944fc8514e
|
Add correct output for face test case
|
2022-08-23 13:46:20 -04:00 |
|
Sasha Koshka
|
cd55a0ad8d
|
Add interface section to tree
|
2022-08-23 10:56:37 -04:00 |
|
Sasha Koshka
|
c29efd97ba
|
Organized test case members alphabetically
|
2022-08-23 01:36:40 -04:00 |
|
Sasha Koshka
|
aa84d9a429
|
Removed space alignment and hex literals from test case check
ToString is not capable of producing this
|
2022-08-23 01:35:35 -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
|
6a6fe8353e
|
Add untested enum parsing
|
2022-08-21 11:17:56 -04:00 |
|
Sasha Koshka
|
c4f763af5b
|
Added test case for enum section
|
2022-08-21 02:48:36 -04:00 |
|
Sasha Koshka
|
6fbda34300
|
Add base enum parsing method
|
2022-08-21 02:42:25 -04:00 |
|
Sasha Koshka
|
59126f60cc
|
Added enum sections to tree
|
2022-08-21 02:40:04 -04:00 |
|
Sasha Koshka
|
f3b2d11f59
|
I swear its not my code thats wrong its the test
No like literally this keeps happening
|
2022-08-20 15:45:45 -04:00 |
|
Sasha Koshka
|
3900bbe7bf
|
Parser test cases now print out line numbers
|
2022-08-20 15:45:01 -04:00 |
|
Sasha Koshka
|
b878017b81
|
The last item of object sections is now saved.
|
2022-08-20 15:22:25 -04:00 |
|
Sasha Koshka
|
5271876196
|
Changed data in object test to use objt keyword instead of type
|
2022-08-20 13:46:10 -04:00 |
|
Sasha Koshka
|
617d76fc46
|
Object sections now parse properly
|
2022-08-20 13:43:10 -04:00 |
|
Sasha Koshka
|
0ceaedbcd8
|
Object sections now ToString properly
|
2022-08-20 13:42:09 -04:00 |
|