Commit Graph

71 Commits

Author SHA1 Message Date
Sasha Koshka a492622e30 Edited func section test case 2022-09-17 12:07:39 -04:00
Sasha Koshka bd25006897 Fixed some errors that cropped up in the data section test 2022-09-17 11:50:27 -04:00
Sasha Koshka ec21a1d05e oopsie hehe 2022-09-17 01:01:30 -04:00
Sasha Koshka b260d9424a Introducing new enum syntax 2022-09-17 00:58:08 -04:00
Sasha Koshka 2f26e63354 Reinstated those two lines in the data section test 2022-09-16 23:01:32 -04:00
Sasha Koshka 2a1e8c5df7 Implemented parsing bit width 2022-09-16 22:48:24 -04:00
Sasha Koshka 302ff76a8a Rewrote type section test case 2022-09-16 22:45:08 -04:00
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 eaeba12fbe Removed old things from tree-tostring.go 2022-09-15 15:10:52 -04:00
Sasha Koshka 558542127d Among impostor 2022-09-14 15:16:56 -04:00
Sasha Koshka 42a51477ec Added ( and ) tokens 2022-09-13 17:04:43 -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 7e972e2132 Syntax tree now stores map of require names -> full paths 2022-09-07 17:12:46 -04:00
Sasha Koshka d4d7c03830 Function output default values are skimmed over 2022-09-05 15:13:27 -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 51def46d91 Updated other test cases and examples to match 2022-09-05 11:35:32 -04:00
Sasha Koshka 0b71ab8787 Added test case with multiple type qualifiers 2022-09-05 11:23:16 -04:00
Sasha Koshka 7731fa86a1 Updated test case for new syntax 2022-09-05 11:12:55 -04:00
Sasha Koshka 1274eeb400 Parser now uses new equal signs 2022-09-03 20:32:27 -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 6446cbfafc The test case was wrong 2022-09-03 20:07:25 -04:00
Sasha Koshka ac548bf438 `loc` will be the referencing "operator" 2022-09-03 16:24:13 -04:00
Sasha Koshka 7bde082f36 Switch cases are parsed now 2022-09-03 15:38:57 -04:00
Sasha Koshka 1f68f252e0 Added defer statement to control flow test 2022-09-03 00:17:50 -04:00
Sasha Koshka 32e5b0ce98 Fixed parser test case
The octal literals with 9 in them were causing the parser to fail.
2022-09-02 01:40:33 -04:00
Sasha Koshka ed44795664 Lexer now rejects strange chars in integer literals 2022-09-02 01:37:58 -04:00
Sasha Koshka 09706ef7f3 Commented out some things in func test case
Apparently, cBasicPhrases is somehow causing the mysterious nil
tree bug. this will be investigated further soon.
2022-09-01 21:38:50 -04:00
Sasha Koshka d9e58cee0c Uncommented things in func section test 2022-09-01 20:54:10 -04:00
Sasha Koshka 453a596587 Added test case for new tokens 2022-08-25 23:17:42 -04:00
Sasha Koshka 6bbee2e13b Created comprehensive test case 2022-08-25 15:46:35 -04:00
Sasha Koshka 9fd285920b Began writing test case for function sections 2022-08-25 13:31:09 -04:00
Sasha Koshka 9232432c35 Implemented thos bad boys 2022-08-25 00:05:40 -04:00
Sasha Koshka b536b01eeb Added new tokens to test case 2022-08-25 00:01:28 -04:00
Sasha Koshka 3dd2ea83d3 I forgot the 2022-08-24 23:55:34 -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 e316eb7791 Changed bit field syntax to use an & symbol 2022-08-24 18:37:44 -04:00
Sasha Koshka 05aa0e6177 Added bitfields to object section test case 2022-08-24 18:23:11 -04:00
Sasha Koshka 441b036a1c Updated test case to reflect previous commit 2022-08-23 14:07:56 -04:00
Sasha Koshka f95c7e0b1c Basic test file for interface section 2022-08-23 10:55:50 -04:00
Sasha Koshka c4f763af5b Added test case for enum section 2022-08-21 02:48:36 -04:00
Sasha Koshka c847d2187d Fixed the object section test 2022-08-20 13:25:43 -04:00
Sasha Koshka da6d587a48 Split test cases between blind types and objt types 2022-08-20 02:42:52 -04:00
Sasha Koshka 9dce9b2f75 Fixed test formatting 2022-08-19 03:05:25 -04:00
Sasha Koshka bc9beb0317 Created test case for type section 2022-08-18 16:56:42 -04:00
Sasha Koshka a548dcc585 Changed permission codes to only determine private/public/readonly
Changing permissions within the module was redundant and would have just
conflicted with the :mut type qualifier. This is easier to understand.
2022-08-18 12:09:17 -04:00
Sasha Koshka 85996b2554 Added more error test cases 2022-08-18 01:47:35 -04:00
Sasha Koshka 9e66305001 Created test to check lexer errors 2022-08-18 01:25:02 -04:00
Sasha Koshka d78f150336 Removed data test case initializing pointers with phrases
Phrase parsing is out of scope for this branch. It will be implemented at the
same time as function parsing.
2022-08-17 14:16:54 -04:00