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