|
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 |
|