Commit Graph

292 Commits

Author SHA1 Message Date
1ed612b3d1 Values are now properly referred to as arguments 2022-09-27 14:26:02 -04:00
48325e224b Renamed method recievers from trait to node in node-traits 2022-09-27 14:18:46 -04:00
c4101dcd33 More tree changes 2022-09-27 14:17:03 -04:00
edd4b39642 Parser tree changes 2022-09-26 18:28:21 -04:00
6040980003 SectionKind has been retired 2022-09-21 21:25:48 -04:00
92ac258dbe Added useful utilities for resolving identidfiers 2022-09-19 12:17:12 -04:00
955f8b4719 Moved testing utilities to its own package 2022-09-17 13:39:29 -04:00
ea92decfe7 Fixed meta test
Parser now passes all tests
2022-09-17 12:31:23 -04:00
85f97189ac Cleaned up phrase parsing a bit 2022-09-17 12:30:56 -04:00
77acfd1cf2 Fixed func ToString and test case 2022-09-17 12:22:17 -04:00
49eb7f9b9d Removed FuncOutput from the tree 2022-09-17 12:12:04 -04:00
a492622e30 Edited func section test case 2022-09-17 12:07:39 -04:00
bd25006897 Fixed some errors that cropped up in the data section test 2022-09-17 11:50:27 -04:00
8b8754a12d Enum now passes its test 2022-09-17 02:11:12 -04:00
b76cb30d94 Fixed bug with identifier parsing 2022-09-17 02:07:50 -04:00
b49e382331 Removed old objt.go 2022-09-17 00:58:48 -04:00
b260d9424a Introducing new enum syntax 2022-09-17 00:58:08 -04:00
2f26e63354 Reinstated those two lines in the data section test 2022-09-16 23:01:32 -04:00
f1cd9856ea Fixed TypeMember.ToString
Type section now passes test
2022-09-16 22:54:26 -04:00
2a1e8c5df7 Implemented parsing bit width 2022-09-16 22:48:24 -04:00
302ff76a8a Rewrote type section test case 2022-09-16 22:45:08 -04:00
ac0444bcc9 DataSection.ToString prints external specifier
Data section is now passing unit test! Woo!
2022-09-16 22:37:43 -04:00
aff5b1749c Various ToString fixes 2022-09-16 22:35:55 -04:00
e123e97357 Type attributes can have whitespace before them
By type attributes I mean things like :mut :N :<defaultValue>.
After the colon and before the attribute, whitespace is now
permitted. This makes syntax like

data ro nIntegerArrayInitialized:Int:16:mut:
	<3948 293 293049 948 912
	340 0 2304 0 4785 92>

possible.
2022-09-16 22:22:07 -04:00
f2f6e2f3d3 Whole Freaking Thing parses 2022-09-16 18:29:39 -04:00
ff04433ad5 The parser now steps past > 2022-09-16 18:27:26 -04:00
a6af1d5121 Made ToString for type notations actually work properly 2022-09-16 18:16:51 -04:00
925f55788f Fixed the hanging thing 2022-09-16 12:27:13 -04:00
5b627f8995 wow it hangs 2022-09-16 12:16:23 -04:00
2111960f6d ToString for type notation might be done now? 2022-09-16 12:00:16 -04:00
319b60bfcd not tryna work on this on my laptop rn 2022-09-15 22:43:02 -04:00
eaeba12fbe Removed old things from tree-tostring.go 2022-09-15 15:10:52 -04:00
df1636e8fa tree-tostring.go compiles 2022-09-15 14:58:50 -04:00
6e7a38a7a9 Removed unneeded accessors for complex default value maps 2022-09-15 14:55:41 -04:00
28312f1c7f Implemented parseObjectNewMember 2022-09-15 14:54:13 -04:00
fe57f5e0ee Implemented parseObjectMemberDefinition fully 2022-09-15 14:03:32 -04:00
ce5394af11 ok now i havet to go harvest potatoes 2022-09-15 13:04:31 -04:00
558542127d Among impostor 2022-09-14 15:16:56 -04:00
a9f8881eb4 oh my jod 2022-09-13 20:45:59 -04:00
98a5d5c252 Something 2022-09-13 20:45:21 -04:00
1457067c55 Added method to parse <this> 2022-09-13 18:16:18 -04:00
42a51477ec Added ( and ) tokens 2022-09-13 17:04:43 -04:00
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