Sasha Koshka
|
767bf81b85
|
Lobbotomized the codebase
|
2022-09-13 16:31:08 -04:00 |
Sasha Koshka
|
21ea27791d
|
Removed the last traces of the word "initialization"
|
2022-09-13 11:12:38 -04:00 |
Sasha Koshka
|
5384dff15b
|
Removed object sections from body
|
2022-09-13 11:10:42 -04:00 |
Sasha Koshka
|
ba3825287d
|
Removed the horrendus "ArgumentKindObjectInitializationValues" name
|
2022-09-13 11:09:41 -04:00 |
Sasha Koshka
|
389c9a313c
|
Function section ouputs now print complex initialization values
|
2022-09-13 11:02:24 -04:00 |
Sasha Koshka
|
dbd0eb570d
|
Did some ToString stuff
|
2022-09-12 15:27:29 -04:00 |
Sasha Koshka
|
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 |
Sasha Koshka
|
0af08a4d24
|
Merged objt and type test cases
|
2022-09-11 15:35:07 -04:00 |
Sasha Koshka
|
362b904900
|
Rewrote test cases with new syntax
|
2022-09-11 10:52:53 -04:00 |
Sasha Koshka
|
7e972e2132
|
Syntax tree now stores map of require names -> full paths
|
2022-09-07 17:12:46 -04:00 |
Sasha Koshka
|
596deaf0c3
|
i forgor
|
2022-09-07 15:50:37 -04:00 |
Sasha Koshka
|
d4d7c03830
|
Function output default values are skimmed over
|
2022-09-05 15:13:27 -04:00 |
Sasha Koshka
|
d6db27ccb6
|
Function root blocks are now skimmed over
|
2022-09-05 15:06:22 -04:00 |
Sasha Koshka
|
ae0166b509
|
Data section initialization values are now skimmed over
|
2022-09-05 15:04:39 -04:00 |
Sasha Koshka
|
613ccc3fba
|
Add skipIndentLevel function
|
2022-09-05 14:56:35 -04:00 |
Sasha Koshka
|
cc1eaa2c11
|
Add test case for skimming
|
2022-09-05 14:52:37 -04:00 |
Sasha Koshka
|
2295e3bd32
|
Data sections can now be marked as external
|
2022-09-05 14:09:47 -04:00 |
Sasha Koshka
|
fe6c82ae9e
|
Added skim boolean that does nothing
|
2022-09-05 13:46:10 -04:00 |
Sasha Koshka
|
49bcbcaa96
|
Now works with tests
|
2022-09-05 13:42:17 -04:00 |
Sasha Koshka
|
2e79d9c834
|
Parse -> Fetch, now tries to hit cache
|
2022-09-05 13:31:38 -04:00 |
Sasha Koshka
|
a791063d5b
|
Add a parser cache map
|
2022-09-05 13:23:14 -04:00 |
Sasha Koshka
|
ef9d518032
|
Renamed returnsTo to returnees
|
2022-09-05 11:49:19 -04:00 |
Sasha Koshka
|
51def46d91
|
Updated other test cases and examples to match
|
2022-09-05 11:35:32 -04:00 |
Sasha Koshka
|
5127b80630
|
Parser has been updated to handle new syntax
|
2022-09-05 11:28:27 -04:00 |
Sasha Koshka
|
0b71ab8787
|
Added test case with multiple type qualifiers
|
2022-09-05 11:23:16 -04:00 |
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 |
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 |