Sasha Koshka
|
98a88b71be
|
Updated tree and accessor semantics
|
2022-09-05 11:20:23 -04:00 |
Sasha Koshka
|
031907a6e0
|
Updated data ToString
|
2022-09-05 11:13:16 -04:00 |
Sasha Koshka
|
7731fa86a1
|
Updated test case for new syntax
|
2022-09-05 11:12:55 -04:00 |
Sasha Koshka
|
f9187ea583
|
Created getters for func section
|
2022-09-05 10:39:46 -04:00 |
Sasha Koshka
|
e06de0ad9a
|
same thing forf phrases and blocks
|
2022-09-05 02:04:37 -04:00 |
Sasha Koshka
|
caeed943a3
|
Added accessors for FaceSection and FaceBehavior
|
2022-09-05 01:21:51 -04:00 |
Sasha Koshka
|
bc4b2bd33c
|
Added accessors for ObjtSection and EnumSection
|
2022-09-05 01:09:29 -04:00 |
Sasha Koshka
|
88de6f0908
|
Added accessors to Argument and ObjtMember
|
2022-09-05 01:05:03 -04:00 |
Sasha Koshka
|
319ed789bf
|
Added accessors to ArrayInitializationValues
|
2022-09-04 23:47:56 -04:00 |
Sasha Koshka
|
3ae8209712
|
asdjkhaslkjhlkfjhaslkdjhalksjdlksdjalskdj
|
2022-09-04 22:40:26 -04:00 |
Sasha Koshka
|
89834ac390
|
The syntax tree is no longer passed by reference
|
2022-09-04 22:30:14 -04:00 |
Sasha Koshka
|
7af575e865
|
Added TypeKindVariableArray
|
2022-09-04 22:27:06 -04:00 |
Sasha Koshka
|
57b98636d0
|
Added accessors for Identifier and Type
|
2022-09-04 22:19:19 -04:00 |
Sasha Koshka
|
691df94ef4
|
Removed many cringe pass-by-references
|
2022-09-04 19:55:47 -04:00 |
Sasha Koshka
|
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 |
Sasha Koshka
|
9269161138
|
Tree returns a section interface when given a name
|
2022-09-04 17:13:49 -04:00 |
Sasha Koshka
|
d930e72c0c
|
Added more methods to the section interface
|
2022-09-04 14:04:48 -04:00 |
Sasha Koshka
|
ded0ce58ec
|
Created Section interface
|
2022-09-04 14:02:48 -04:00 |
Sasha Koshka
|
899f4815bc
|
Did the same thing with default values
|
2022-09-04 03:31:35 -04:00 |
Sasha Koshka
|
e0a04e68e3
|
Did the same thing but with permissions
|
2022-09-03 23:03:09 -04:00 |
Sasha Koshka
|
3f7c779e2b
|
Got rid of useless setters for the traits
|
2022-09-03 22:58:35 -04:00 |
Sasha Koshka
|
ef375810fb
|
Did the same thing with type specifiers
|
2022-09-03 22:56:08 -04:00 |
Sasha Koshka
|
8e74216430
|
Names are now composed from a nameable struct
|
2022-09-03 22:33:34 -04:00 |
Sasha Koshka
|
729ae78eae
|
Location is now included in structs via composition
|
2022-09-03 22:17:05 -04:00 |
Sasha Koshka
|
1274eeb400
|
Parser now uses new equal signs
|
2022-09-03 20:32:27 -04:00 |
Sasha Koshka
|
aff2e55aa5
|
Separated data.go
|
2022-09-03 20:16:49 -04:00 |
Sasha Koshka
|
6446cbfafc
|
The test case was wrong
|
2022-09-03 20:07:25 -04:00 |
Sasha Koshka
|
9fb75e0228
|
Function output default values are ToString'd
|
2022-09-03 19:49:08 -04:00 |
Sasha Koshka
|
16e06aacb8
|
Set phrase initialization values ToString correctly
|
2022-09-03 19:24:09 -04:00 |
Sasha Koshka
|
bf2839508d
|
Set phrase initiailzation values are now parsed correctly
|
2022-09-03 16:37:36 -04:00 |
Sasha Koshka
|
c6428f6f8e
|
Blocks under phrases are parsed according to phrase kind
|
2022-09-03 16:28:36 -04:00 |
Sasha Koshka
|
ac548bf438
|
`loc` will be the referencing "operator"
|
2022-09-03 16:24:13 -04:00 |
Sasha Koshka
|
48f72e614b
|
parsePhraseCommand also generates a phrase kind value
|
2022-09-03 16:06:29 -04:00 |
Sasha Koshka
|
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 |
Sasha Koshka
|
7bde082f36
|
Switch cases are parsed now
|
2022-09-03 15:38:57 -04:00 |
Sasha Koshka
|
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 |
Sasha Koshka
|
837b1c76a4
|
Parser is more restrictive of phrase commands
|
2022-09-03 13:19:47 -04:00 |
Sasha Koshka
|
de7234f4d7
|
Parsing return direction works
|
2022-09-03 13:14:38 -04:00 |
Sasha Koshka
|
645456bb48
|
Fixed func section test case formatting
|
2022-09-03 12:56:20 -04:00 |
Sasha Koshka
|
257d22b6f7
|
Parser no longer skips token after an argument level phrase
|
2022-09-03 12:54:41 -04:00 |
Sasha Koshka
|
f592e1cc43
|
Properly ToString'd operator phrase commands
|
2022-09-03 11:43:02 -04:00 |
Sasha Koshka
|
0872eb51a1
|
Separated phrase parsing into its own file
|
2022-09-03 11:37:07 -04:00 |
Sasha Koshka
|
1efd77acfe
|
Partially implemented operator phrase commands
|
2022-09-03 11:34:13 -04:00 |
Sasha Koshka
|
c2a8c4cd97
|
Added new token kind slices to func.go
|
2022-09-03 00:40:56 -04:00 |
Sasha Koshka
|
b220f3dab5
|
Definition arguments are now parsed correctly
|
2022-09-03 00:17:25 -04:00 |
Sasha Koshka
|
689200085a
|
Putting pointers in interfaces is incredibly stupid
|
2022-09-03 00:01:01 -04:00 |
Sasha Koshka
|
dbbe0198d5
|
Phrases in functions are now ToString'd
|
2022-09-02 23:38:30 -04:00 |
Sasha Koshka
|
eee50dc9b0
|
Added argument level phrase parsing
|
2022-09-02 22:43:48 -04:00 |
Sasha Koshka
|
44021fe875
|
Added some primitive phrase parsing
|
2022-09-02 22:37:52 -04:00 |
Sasha Koshka
|
fccb67e5c0
|
Added basic func section ToString
|
2022-09-02 02:36:14 -04:00 |
Sasha Koshka
|
ed44795664
|
Lexer now rejects strange chars in integer literals
|
2022-09-02 01:37:58 -04:00 |
Sasha Koshka
|
ac7074a819
|
Added support for "external" keyword
|
2022-09-02 01:25:22 -04:00 |
Sasha Koshka
|
08f111ccbf
|
Various fixes to function parsing
- Newlines are handled better
- Types are actually parsed
|
2022-09-01 22:10:57 -04:00 |
Sasha Koshka
|
bcb1b9b6d2
|
parseFuncSection calls parseFuncArguments now
|
2022-09-01 21:43:56 -04:00 |
Sasha Koshka
|
8ccfc935ab
|
Test logs error even if tree is nil
|
2022-09-01 21:37:15 -04:00 |
Sasha Koshka
|
fcfa672652
|
Cleaned some go vet warnings
|
2022-09-01 18:40:51 -04:00 |
Sasha Koshka
|
f585e5119f
|
Removed useless logging in objt sections
|
2022-09-01 18:03:01 -04:00 |
Sasha Koshka
|
aec266a82e
|
Fail test on nil tree
|
2022-09-01 18:02:14 -04:00 |
Sasha Koshka
|
8d46188f6c
|
Throw an error on malformed func arguments list
|
2022-09-01 17:55:57 -04:00 |
Sasha Koshka
|
5371c0eeae
|
Added untested parsing of function arguments
|
2022-09-01 17:42:56 -04:00 |
Sasha Koshka
|
7deacff330
|
AST supports function output default values
|
2022-09-01 17:13:40 -04:00 |
Sasha Koshka
|
65c213f1f3
|
Fixed import paths
|
2022-08-30 01:11:10 -04:00 |
Sasha Koshka
|
c3b6330b22
|
Added base function parsing
|
2022-08-25 20:01:12 -04:00 |
Sasha Koshka
|
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 |
Sasha Koshka
|
c470997887
|
Did the same thing to interfaces
|
2022-08-24 18:57:07 -04:00 |
Sasha Koshka
|
715766edb4
|
Objects can only inherit by specifiying an identifier
|
2022-08-24 18:52:31 -04:00 |
Sasha Koshka
|
e316eb7791
|
Changed bit field syntax to use an & symbol
|
2022-08-24 18:37:44 -04:00 |
Sasha Koshka
|
731cc828ce
|
Added untested bit width parsing
|
2022-08-24 18:29:15 -04:00 |
Sasha Koshka
|
05aa0e6177
|
Added bitfields to object section test case
|
2022-08-24 18:23:11 -04:00 |
Sasha Koshka
|
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 |
Sasha Koshka
|
b0d4ecc83f
|
Added interface section parsing to body
|
2022-08-23 15:14:44 -04:00 |
Sasha Koshka
|
4eac5c67aa
|
Added untested interface section parsing
|
2022-08-23 15:13:00 -04:00 |
Sasha Koshka
|
441b036a1c
|
Updated test case to reflect previous commit
|
2022-08-23 14:07:56 -04:00 |
Sasha Koshka
|
8817d72cb3
|
Interfaces can inherit other interfaces
|
2022-08-23 13:56:59 -04:00 |
Sasha Koshka
|
3ef1e706b3
|
Added ToString method to face section
|
2022-08-23 13:54:44 -04:00 |
Sasha Koshka
|
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 |