Commit Graph

359 Commits

Author SHA1 Message Date
Sasha Koshka 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
Sasha Koshka f2f6e2f3d3 Whole Freaking Thing parses 2022-09-16 18:29:39 -04:00
Sasha Koshka ff04433ad5 The parser now steps past > 2022-09-16 18:27:26 -04:00
Sasha Koshka a6af1d5121 Made ToString for type notations actually work properly 2022-09-16 18:16:51 -04:00
Sasha Koshka 925f55788f Fixed the hanging thing 2022-09-16 12:27:13 -04:00
Sasha Koshka 5b627f8995 wow it hangs 2022-09-16 12:16:23 -04:00
Sasha Koshka 2111960f6d ToString for type notation might be done now? 2022-09-16 12:00:16 -04:00
Sasha Koshka 319b60bfcd not tryna work on this on my laptop rn 2022-09-15 22:43:02 -04:00
Sasha Koshka eaeba12fbe Removed old things from tree-tostring.go 2022-09-15 15:10:52 -04:00
Sasha Koshka df1636e8fa tree-tostring.go compiles 2022-09-15 14:58:50 -04:00
Sasha Koshka 6e7a38a7a9 Removed unneeded accessors for complex default value maps 2022-09-15 14:55:41 -04:00
Sasha Koshka 28312f1c7f Implemented parseObjectNewMember 2022-09-15 14:54:13 -04:00
Sasha Koshka fe57f5e0ee Implemented parseObjectMemberDefinition fully 2022-09-15 14:03:32 -04:00
Sasha Koshka ce5394af11 ok now i havet to go harvest potatoes 2022-09-15 13:04:31 -04:00
Sasha Koshka 558542127d Among impostor 2022-09-14 15:16:56 -04:00
Sasha Koshka a9f8881eb4 oh my jod 2022-09-13 20:45:59 -04:00
Sasha Koshka 98a5d5c252 Something 2022-09-13 20:45:21 -04:00
Sasha Koshka 1457067c55 Added method to parse <this> 2022-09-13 18:16:18 -04:00
Sasha Koshka 42a51477ec Added ( and ) tokens 2022-09-13 17:04:43 -04:00
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 3635eef15a Some ToString functionality 2022-09-10 19:50:18 -04:00
Sasha Koshka b3e2d9f822 Progress on data structures for type sections
Type specifiers will now store a list of members, instead of
type sections doing that. This will make it possible to do an
inline object definition within a data section, = phrase, etc.

The parser will be reworked to include syntax that supports this,
objects and types will be merged into just a type section, and
face sections will have the added capability of defining function
pointer types.
2022-09-09 20:57:41 -04:00
Sasha Koshka cc8ae6c124 Added trail stack 2022-09-09 01:53:53 -04:00
Sasha Koshka 5f3c5e3b14 Added cool little generic stack 2022-09-09 01:39:04 -04:00
Sasha Koshka 179c83ba72 Created fetchSection method
This method provides a framework for recursively analyzing
sections.
2022-09-09 01:09:17 -04:00
Sasha Koshka f3f744c348 Producing more data structures 2022-09-08 12:59:49 -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 f6aeae1d55 Created basic data structures for analyzer 2022-09-07 12:20:34 -04:00
Sasha Koshka 7f42ccac48 Merge pull request 'parser-skim' (#5) from parser-skim into main
Reviewed-on: arf/arf#5
2022-09-05 19:23:13 +00:00
Sasha Koshka e5c20eb5ae Merge branch 'main' into parser-skim 2022-09-05 19:23:03 +00: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 c8181f93fa Merge pull request 'parser-cache' (#4) from parser-cache into main
Reviewed-on: arf/arf#4
2022-09-05 17:49:39 +00:00
Sasha Koshka 345cf3fa29 Update heatmap 2022-09-05 13:49:15 -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