sashakoshka
f6ff3c725d
Stub for parsing arguments
2022-09-22 17:51:45 -04:00
sashakoshka
25cc74a6d9
??? the
2022-09-22 13:19:23 -04:00
sashakoshka
6040980003
SectionKind has been retired
2022-09-21 21:25:48 -04:00
sashakoshka
b3ebd7a259
Stub for analyzing type specifiers
2022-09-20 11:01:56 -04:00
sashakoshka
92ac258dbe
Added useful utilities for resolving identidfiers
2022-09-19 12:17:12 -04:00
sashakoshka
cf18af1995
Removed redundant info from readme
...
There is a design goals wiki page. This section was removed from
the readme and in its place was put a link to the wiki.
2022-09-19 01:28:56 -04:00
sashakoshka
7cf797af26
Added analyzeTypeSection method
2022-09-18 02:41:06 -04:00
sashakoshka
55a1490c18
Implemented ModuleName and added to Section interface
2022-09-17 23:40:30 -04:00
sashakoshka
3a5086ad33
Moved type sections into a dedicated file
2022-09-17 23:36:59 -04:00
sashakoshka
744e8de794
Added ToString for SectionTable
2022-09-17 23:29:11 -04:00
sashakoshka
955f8b4719
Moved testing utilities to its own package
2022-09-17 13:39:29 -04:00
sashakoshka
8d3f6a8233
Updated example code
2022-09-17 12:33:52 -04:00
sashakoshka
ea92decfe7
Fixed meta test
...
Parser now passes all tests
2022-09-17 12:31:23 -04:00
sashakoshka
85f97189ac
Cleaned up phrase parsing a bit
2022-09-17 12:30:56 -04:00
sashakoshka
77acfd1cf2
Fixed func ToString and test case
2022-09-17 12:22:17 -04:00
sashakoshka
49eb7f9b9d
Removed FuncOutput from the tree
2022-09-17 12:12:04 -04:00
sashakoshka
a492622e30
Edited func section test case
2022-09-17 12:07:39 -04:00
sashakoshka
bd25006897
Fixed some errors that cropped up in the data section test
2022-09-17 11:50:27 -04:00
sashakoshka
8b8754a12d
Enum now passes its test
2022-09-17 02:11:12 -04:00
sashakoshka
b76cb30d94
Fixed bug with identifier parsing
2022-09-17 02:07:50 -04:00
sashakoshka
ec21a1d05e
oopsie hehe
2022-09-17 01:01:30 -04:00
sashakoshka
b49e382331
Removed old objt.go
2022-09-17 00:58:48 -04:00
sashakoshka
b260d9424a
Introducing new enum syntax
2022-09-17 00:58:08 -04:00
sashakoshka
2f26e63354
Reinstated those two lines in the data section test
2022-09-16 23:01:32 -04:00
sashakoshka
f1cd9856ea
Fixed TypeMember.ToString
...
Type section now passes test
2022-09-16 22:54:26 -04:00
sashakoshka
2a1e8c5df7
Implemented parsing bit width
2022-09-16 22:48:24 -04:00
sashakoshka
302ff76a8a
Rewrote type section test case
2022-09-16 22:45:08 -04:00
sashakoshka
ac0444bcc9
DataSection.ToString prints external specifier
...
Data section is now passing unit test! Woo!
2022-09-16 22:37:43 -04:00
sashakoshka
aff5b1749c
Various ToString fixes
2022-09-16 22:35:55 -04:00
sashakoshka
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
sashakoshka
f2f6e2f3d3
Whole Freaking Thing parses
2022-09-16 18:29:39 -04:00
sashakoshka
ff04433ad5
The parser now steps past >
2022-09-16 18:27:26 -04:00
sashakoshka
a6af1d5121
Made ToString for type notations actually work properly
2022-09-16 18:16:51 -04:00
sashakoshka
925f55788f
Fixed the hanging thing
2022-09-16 12:27:13 -04:00
sashakoshka
5b627f8995
wow it hangs
2022-09-16 12:16:23 -04:00
sashakoshka
2111960f6d
ToString for type notation might be done now?
2022-09-16 12:00:16 -04:00
sashakoshka
319b60bfcd
not tryna work on this on my laptop rn
2022-09-15 22:43:02 -04:00
sashakoshka
eaeba12fbe
Removed old things from tree-tostring.go
2022-09-15 15:10:52 -04:00
sashakoshka
df1636e8fa
tree-tostring.go compiles
2022-09-15 14:58:50 -04:00
sashakoshka
6e7a38a7a9
Removed unneeded accessors for complex default value maps
2022-09-15 14:55:41 -04:00
sashakoshka
28312f1c7f
Implemented parseObjectNewMember
2022-09-15 14:54:13 -04:00
sashakoshka
fe57f5e0ee
Implemented parseObjectMemberDefinition fully
2022-09-15 14:03:32 -04:00
sashakoshka
ce5394af11
ok now i havet to go harvest potatoes
2022-09-15 13:04:31 -04:00
sashakoshka
558542127d
Among impostor
2022-09-14 15:16:56 -04:00
sashakoshka
a9f8881eb4
oh my jod
2022-09-13 20:45:59 -04:00
sashakoshka
98a5d5c252
Something
2022-09-13 20:45:21 -04:00
sashakoshka
1457067c55
Added method to parse <this>
2022-09-13 18:16:18 -04:00
sashakoshka
42a51477ec
Added ( and ) tokens
2022-09-13 17:04:43 -04:00
sashakoshka
767bf81b85
Lobbotomized the codebase
2022-09-13 16:31:08 -04:00
sashakoshka
21ea27791d
Removed the last traces of the word "initialization"
2022-09-13 11:12:38 -04:00
sashakoshka
5384dff15b
Removed object sections from body
2022-09-13 11:10:42 -04:00
sashakoshka
ba3825287d
Removed the horrendus "ArgumentKindObjectInitializationValues" name
2022-09-13 11:09:41 -04:00
sashakoshka
389c9a313c
Function section ouputs now print complex initialization values
2022-09-13 11:02:24 -04:00
sashakoshka
dbd0eb570d
Did some ToString stuff
2022-09-12 15:27:29 -04:00
sashakoshka
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
sashakoshka
0af08a4d24
Merged objt and type test cases
2022-09-11 15:35:07 -04:00
sashakoshka
362b904900
Rewrote test cases with new syntax
2022-09-11 10:52:53 -04:00
sashakoshka
3635eef15a
Some ToString functionality
2022-09-10 19:50:18 -04:00
sashakoshka
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
sashakoshka
cc8ae6c124
Added trail stack
2022-09-09 01:53:53 -04:00
sashakoshka
5f3c5e3b14
Added cool little generic stack
2022-09-09 01:39:04 -04:00
sashakoshka
179c83ba72
Created fetchSection method
...
This method provides a framework for recursively analyzing
sections.
2022-09-09 01:09:17 -04:00
sashakoshka
f3f744c348
Producing more data structures
2022-09-08 12:59:49 -04:00
sashakoshka
7e972e2132
Syntax tree now stores map of require names -> full paths
2022-09-07 17:12:46 -04:00
sashakoshka
596deaf0c3
i forgor
2022-09-07 15:50:37 -04:00
sashakoshka
f6aeae1d55
Created basic data structures for analyzer
2022-09-07 12:20:34 -04:00
sashakoshka
d4d7c03830
Function output default values are skimmed over
2022-09-05 15:13:27 -04:00
sashakoshka
d6db27ccb6
Function root blocks are now skimmed over
2022-09-05 15:06:22 -04:00
sashakoshka
ae0166b509
Data section initialization values are now skimmed over
2022-09-05 15:04:39 -04:00
sashakoshka
613ccc3fba
Add skipIndentLevel function
2022-09-05 14:56:35 -04:00
sashakoshka
cc1eaa2c11
Add test case for skimming
2022-09-05 14:52:37 -04:00
sashakoshka
2295e3bd32
Data sections can now be marked as external
2022-09-05 14:09:47 -04:00
sashakoshka
345cf3fa29
Update heatmap
2022-09-05 13:49:15 -04:00
sashakoshka
fe6c82ae9e
Added skim boolean that does nothing
2022-09-05 13:46:10 -04:00
sashakoshka
49bcbcaa96
Now works with tests
2022-09-05 13:42:17 -04:00
sashakoshka
2e79d9c834
Parse -> Fetch, now tries to hit cache
2022-09-05 13:31:38 -04:00
sashakoshka
a791063d5b
Add a parser cache map
2022-09-05 13:23:14 -04:00
sashakoshka
447cc08884
Update readme and heatmap
2022-09-05 12:47:03 -04:00
sashakoshka
ef9d518032
Renamed returnsTo to returnees
2022-09-05 11:49:19 -04:00
sashakoshka
51def46d91
Updated other test cases and examples to match
2022-09-05 11:35:32 -04:00
sashakoshka
5127b80630
Parser has been updated to handle new syntax
2022-09-05 11:28:27 -04:00
sashakoshka
0b71ab8787
Added test case with multiple type qualifiers
2022-09-05 11:23:16 -04:00
sashakoshka
98a88b71be
Updated tree and accessor semantics
2022-09-05 11:20:23 -04:00
sashakoshka
031907a6e0
Updated data ToString
2022-09-05 11:13:16 -04:00
sashakoshka
7731fa86a1
Updated test case for new syntax
2022-09-05 11:12:55 -04:00
sashakoshka
f9187ea583
Created getters for func section
2022-09-05 10:39:46 -04:00
sashakoshka
e06de0ad9a
same thing forf phrases and blocks
2022-09-05 02:04:37 -04:00
sashakoshka
caeed943a3
Added accessors for FaceSection and FaceBehavior
2022-09-05 01:21:51 -04:00
sashakoshka
bc4b2bd33c
Added accessors for ObjtSection and EnumSection
2022-09-05 01:09:29 -04:00
sashakoshka
88de6f0908
Added accessors to Argument and ObjtMember
2022-09-05 01:05:03 -04:00
sashakoshka
319ed789bf
Added accessors to ArrayInitializationValues
2022-09-04 23:47:56 -04:00
sashakoshka
0cb6b2bf66
Added a generic map iterator type
2022-09-04 23:05:45 -04:00
sashakoshka
3ae8209712
asdjkhaslkjhlkfjhaslkdjhalksjdlksdjalskdj
2022-09-04 22:40:26 -04:00
sashakoshka
89834ac390
The syntax tree is no longer passed by reference
2022-09-04 22:30:14 -04:00
sashakoshka
7af575e865
Added TypeKindVariableArray
2022-09-04 22:27:06 -04:00
sashakoshka
57b98636d0
Added accessors for Identifier and Type
2022-09-04 22:19:19 -04:00
sashakoshka
691df94ef4
Removed many cringe pass-by-references
2022-09-04 19:55:47 -04:00
sashakoshka
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
sashakoshka
9269161138
Tree returns a section interface when given a name
2022-09-04 17:13:49 -04:00
sashakoshka
d930e72c0c
Added more methods to the section interface
2022-09-04 14:04:48 -04:00