|
767bf81b85
|
Lobbotomized the codebase
|
2022-09-13 16:31:08 -04:00 |
|
|
21ea27791d
|
Removed the last traces of the word "initialization"
|
2022-09-13 11:12:38 -04:00 |
|
|
5384dff15b
|
Removed object sections from body
|
2022-09-13 11:10:42 -04:00 |
|
|
ba3825287d
|
Removed the horrendus "ArgumentKindObjectInitializationValues" name
|
2022-09-13 11:09:41 -04:00 |
|
|
389c9a313c
|
Function section ouputs now print complex initialization values
|
2022-09-13 11:02:24 -04:00 |
|
|
dbd0eb570d
|
Did some ToString stuff
|
2022-09-12 15:27:29 -04:00 |
|
|
3e9ff7dcd6
|
Altered syntax tree accordingly
🦀🦀🦀 Object sections are gone 🦀🦀🦀 and members are now stored
in the type specifier.
|
2022-09-11 16:15:02 -04:00 |
|
|
0af08a4d24
|
Merged objt and type test cases
|
2022-09-11 15:35:07 -04:00 |
|
|
362b904900
|
Rewrote test cases with new syntax
|
2022-09-11 10:52:53 -04:00 |
|
|
7e972e2132
|
Syntax tree now stores map of require names -> full paths
|
2022-09-07 17:12:46 -04:00 |
|
|
596deaf0c3
|
i forgor
|
2022-09-07 15:50:37 -04:00 |
|
|
d4d7c03830
|
Function output default values are skimmed over
|
2022-09-05 15:13:27 -04:00 |
|
|
d6db27ccb6
|
Function root blocks are now skimmed over
|
2022-09-05 15:06:22 -04:00 |
|
|
ae0166b509
|
Data section initialization values are now skimmed over
|
2022-09-05 15:04:39 -04:00 |
|
|
613ccc3fba
|
Add skipIndentLevel function
|
2022-09-05 14:56:35 -04:00 |
|
|
cc1eaa2c11
|
Add test case for skimming
|
2022-09-05 14:52:37 -04:00 |
|
|
2295e3bd32
|
Data sections can now be marked as external
|
2022-09-05 14:09:47 -04:00 |
|
|
fe6c82ae9e
|
Added skim boolean that does nothing
|
2022-09-05 13:46:10 -04:00 |
|
|
49bcbcaa96
|
Now works with tests
|
2022-09-05 13:42:17 -04:00 |
|
|
2e79d9c834
|
Parse -> Fetch, now tries to hit cache
|
2022-09-05 13:31:38 -04:00 |
|
|
a791063d5b
|
Add a parser cache map
|
2022-09-05 13:23:14 -04:00 |
|
|
ef9d518032
|
Renamed returnsTo to returnees
|
2022-09-05 11:49:19 -04:00 |
|
|
51def46d91
|
Updated other test cases and examples to match
|
2022-09-05 11:35:32 -04:00 |
|
|
5127b80630
|
Parser has been updated to handle new syntax
|
2022-09-05 11:28:27 -04:00 |
|
|
0b71ab8787
|
Added test case with multiple type qualifiers
|
2022-09-05 11:23:16 -04:00 |
|
|
98a88b71be
|
Updated tree and accessor semantics
|
2022-09-05 11:20:23 -04:00 |
|
|
031907a6e0
|
Updated data ToString
|
2022-09-05 11:13:16 -04:00 |
|
|
7731fa86a1
|
Updated test case for new syntax
|
2022-09-05 11:12:55 -04:00 |
|
|
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 |
|
Sasha Koshka
|
edb9c1a0b6
|
Fixed assignment to entry in nil map
|
2022-08-20 13:29:04 -04:00 |
|
Sasha Koshka
|
bd433fc65d
|
Untested object section parsing
|
2022-08-20 13:26:24 -04:00 |
|
Sasha Koshka
|
c847d2187d
|
Fixed the object section test
|
2022-08-20 13:25:43 -04:00 |
|
Sasha Koshka
|
cb2264977a
|
Added object sections to the tree for real lol
|
2022-08-20 13:24:56 -04:00 |
|
Sasha Koshka
|
790e7e632e
|
Removed recursive member parsing nonsense from type section
|
2022-08-20 12:50:32 -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
|
da6d587a48
|
Split test cases between blind types and objt types
|
2022-08-20 02:42:52 -04:00 |
|
Sasha Koshka
|
78b8b9dacd
|
Fixed test case for parser
The correct output string was missing a type specifier. The lexer now passes
this test.
|
2022-08-19 11:37:30 -04:00 |
|
Sasha Koshka
|
2605d1fb09
|
Fixed nested complex initialization values not parsing
|
2022-08-19 11:36:30 -04:00 |
|
Sasha Koshka
|
9dce9b2f75
|
Fixed test formatting
|
2022-08-19 03:05:25 -04:00 |
|
Sasha Koshka
|
9b4279c052
|
Fixed ToString of type nodes
|
2022-08-19 03:03:36 -04:00 |
|
Sasha Koshka
|
2296765e81
|
Added recursive parsing of type nodes
|
2022-08-19 03:01:47 -04:00 |
|
Sasha Koshka
|
19d0b3f455
|
Complex default values of type nodes now ToString properly
|
2022-08-19 02:36:56 -04:00 |
|
Sasha Koshka
|
e25e7bdf14
|
Parser can now parse array and object initializations
|
2022-08-19 02:34:17 -04:00 |
|
Sasha Koshka
|
63419165dd
|
Moved most of type section parsing into reusable type node parsing method
|
2022-08-19 02:08:18 -04:00 |
|
Sasha Koshka
|
69aaae8f14
|
Restructured type definitions to use a node tree
|
2022-08-18 23:38:32 -04:00 |
|
Sasha Koshka
|
717474a59e
|
Removed unnescessary println statements (oopsie)
|
2022-08-18 20:09:27 -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
|
5c2a7aeb07
|
Created base for type section parsing
|
2022-08-18 17:39:19 -04:00 |
|