Commit Graph

305 Commits

Author SHA1 Message Date
Sasha Koshka 51def46d91 Updated other test cases and examples to match 2022-09-05 11:35:32 -04:00
Sasha Koshka 5127b80630 Parser has been updated to handle new syntax 2022-09-05 11:28:27 -04:00
Sasha Koshka 0b71ab8787 Added test case with multiple type qualifiers 2022-09-05 11:23:16 -04:00
Sasha Koshka 98a88b71be Updated tree and accessor semantics 2022-09-05 11:20:23 -04:00
Sasha Koshka 031907a6e0 Updated data ToString 2022-09-05 11:13:16 -04:00
Sasha Koshka 7731fa86a1 Updated test case for new syntax 2022-09-05 11:12:55 -04:00
Sasha Koshka 464826f447 Merge pull request 'syntax-tree-accessors' (#2) from syntax-tree-accessors into main
Reviewed-on: arf/arf#2
2022-09-05 14:52:09 +00:00
Sasha Koshka f9187ea583 Created getters for func section 2022-09-05 10:39:46 -04:00
Sasha Koshka e06de0ad9a same thing forf phrases and blocks 2022-09-05 02:04:37 -04:00
Sasha Koshka caeed943a3 Added accessors for FaceSection and FaceBehavior 2022-09-05 01:21:51 -04:00
Sasha Koshka bc4b2bd33c Added accessors for ObjtSection and EnumSection 2022-09-05 01:09:29 -04:00
Sasha Koshka 88de6f0908 Added accessors to Argument and ObjtMember 2022-09-05 01:05:03 -04:00
Sasha Koshka 319ed789bf Added accessors to ArrayInitializationValues 2022-09-04 23:47:56 -04:00
Sasha Koshka 0cb6b2bf66 Added a generic map iterator type 2022-09-04 23:05:45 -04:00
Sasha Koshka 3ae8209712 asdjkhaslkjhlkfjhaslkdjhalksjdlksdjalskdj 2022-09-04 22:40:26 -04:00
Sasha Koshka 89834ac390 The syntax tree is no longer passed by reference 2022-09-04 22:30:14 -04:00
Sasha Koshka 7af575e865 Added TypeKindVariableArray 2022-09-04 22:27:06 -04:00
Sasha Koshka 57b98636d0 Added accessors for Identifier and Type 2022-09-04 22:19:19 -04:00
Sasha Koshka 691df94ef4 Removed many cringe pass-by-references 2022-09-04 19:55:47 -04:00
Sasha Koshka 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
Sasha Koshka 9269161138 Tree returns a section interface when given a name 2022-09-04 17:13:49 -04:00
Sasha Koshka d930e72c0c Added more methods to the section interface 2022-09-04 14:04:48 -04:00
Sasha Koshka ded0ce58ec Created Section interface 2022-09-04 14:02:48 -04:00
Sasha Koshka 899f4815bc Did the same thing with default values 2022-09-04 03:31:35 -04:00
Sasha Koshka e0a04e68e3 Did the same thing but with permissions 2022-09-03 23:03:09 -04:00
Sasha Koshka 3f7c779e2b Got rid of useless setters for the traits 2022-09-03 22:58:35 -04:00
Sasha Koshka ef375810fb Did the same thing with type specifiers 2022-09-03 22:56:08 -04:00
Sasha Koshka 8e74216430 Names are now composed from a nameable struct 2022-09-03 22:33:34 -04:00
Sasha Koshka 729ae78eae Location is now included in structs via composition 2022-09-03 22:17:05 -04:00
Sasha Koshka 4c01d41723 Updated example code 2022-09-03 20:34:50 -04:00
Sasha Koshka 1274eeb400 Parser now uses new equal signs 2022-09-03 20:32:27 -04:00
Sasha Koshka a665463932 Lexer no longer freaks out when parsing a 0 2022-09-03 20:27:03 -04:00
Sasha Koshka cc14292c63 Added equals assignment operator
The set phrase will be removed and just replaced with a single
equals sign. Double equals will be used for comparison. This will
be much easier to understand.
2022-09-03 20:23:27 -04:00
Sasha Koshka aff2e55aa5 Separated data.go 2022-09-03 20:16:49 -04:00
Sasha Koshka 845c12c78b Merge pull request 'func-section' (#1) from func-section into main
Reviewed-on: arf/arf#1
2022-09-04 00:09:13 +00:00
Sasha Koshka 6446cbfafc The test case was wrong 2022-09-03 20:07:25 -04:00
Sasha Koshka 9fb75e0228 Function output default values are ToString'd 2022-09-03 19:49:08 -04:00
Sasha Koshka 16e06aacb8 Set phrase initialization values ToString correctly 2022-09-03 19:24:09 -04:00
Sasha Koshka bf2839508d Set phrase initiailzation values are now parsed correctly 2022-09-03 16:37:36 -04:00
Sasha Koshka c6428f6f8e Blocks under phrases are parsed according to phrase kind 2022-09-03 16:28:36 -04:00
Sasha Koshka ac548bf438 `loc` will be the referencing "operator" 2022-09-03 16:24:13 -04:00
Sasha Koshka 48f72e614b parsePhraseCommand also generates a phrase kind value 2022-09-03 16:06:29 -04:00
Sasha Koshka 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
Sasha Koshka 7bde082f36 Switch cases are parsed now 2022-09-03 15:38:57 -04:00
Sasha Koshka 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
Sasha Koshka 837b1c76a4 Parser is more restrictive of phrase commands 2022-09-03 13:19:47 -04:00
Sasha Koshka de7234f4d7 Parsing return direction works 2022-09-03 13:14:38 -04:00
Sasha Koshka 7714c08846 Tokens with a dash beginning are positioned correctly 2022-09-03 12:58:06 -04:00
Sasha Koshka 645456bb48 Fixed func section test case formatting 2022-09-03 12:56:20 -04:00
Sasha Koshka 257d22b6f7 Parser no longer skips token after an argument level phrase 2022-09-03 12:54:41 -04:00