Commit Graph

264 Commits

Author SHA1 Message Date
48f72e614b parsePhraseCommand also generates a phrase kind value 2022-09-03 16:06:29 -04:00
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
7bde082f36 Switch cases are parsed now 2022-09-03 15:38:57 -04:00
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
837b1c76a4 Parser is more restrictive of phrase commands 2022-09-03 13:19:47 -04:00
de7234f4d7 Parsing return direction works 2022-09-03 13:14:38 -04:00
7714c08846 Tokens with a dash beginning are positioned correctly 2022-09-03 12:58:06 -04:00
645456bb48 Fixed func section test case formatting 2022-09-03 12:56:20 -04:00
257d22b6f7 Parser no longer skips token after an argument level phrase 2022-09-03 12:54:41 -04:00
f592e1cc43 Properly ToString'd operator phrase commands 2022-09-03 11:43:02 -04:00
0872eb51a1 Separated phrase parsing into its own file 2022-09-03 11:37:07 -04:00
1efd77acfe Partially implemented operator phrase commands 2022-09-03 11:34:13 -04:00
c2a8c4cd97 Added new token kind slices to func.go 2022-09-03 00:40:56 -04:00
1f68f252e0 Added defer statement to control flow test 2022-09-03 00:17:50 -04:00
b220f3dab5 Definition arguments are now parsed correctly 2022-09-03 00:17:25 -04:00
689200085a Putting pointers in interfaces is incredibly stupid 2022-09-03 00:01:01 -04:00
dbbe0198d5 Phrases in functions are now ToString'd 2022-09-02 23:38:30 -04:00
eee50dc9b0 Added argument level phrase parsing 2022-09-02 22:43:48 -04:00
44021fe875 Added some primitive phrase parsing 2022-09-02 22:37:52 -04:00
fccb67e5c0 Added basic func section ToString 2022-09-02 02:36:14 -04:00
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
ed44795664 Lexer now rejects strange chars in integer literals 2022-09-02 01:37:58 -04:00
ac7074a819 Added support for "external" keyword 2022-09-02 01:25:22 -04:00
08f111ccbf Various fixes to function parsing
- Newlines are handled better
- Types are actually parsed
2022-09-01 22:10:57 -04:00
bcb1b9b6d2 parseFuncSection calls parseFuncArguments now 2022-09-01 21:43:56 -04:00
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
8ccfc935ab Test logs error even if tree is nil 2022-09-01 21:37:15 -04:00
d9e58cee0c Uncommented things in func section test 2022-09-01 20:54:10 -04:00
fcfa672652 Cleaned some go vet warnings 2022-09-01 18:40:51 -04:00
f585e5119f Removed useless logging in objt sections 2022-09-01 18:03:01 -04:00
aec266a82e Fail test on nil tree 2022-09-01 18:02:14 -04:00
8d46188f6c Throw an error on malformed func arguments list 2022-09-01 17:55:57 -04:00
5371c0eeae Added untested parsing of function arguments 2022-09-01 17:42:56 -04:00
7deacff330 AST supports function output default values 2022-09-01 17:13:40 -04:00
eed9e4e7b9 Bit shift assignment tokens now have correct width 2022-08-30 01:35:40 -04:00
067729d435 Parse binary XOR tokens 2022-08-30 01:33:58 -04:00
05954546eb Remove useless files 2022-08-30 01:11:37 -04:00
65c213f1f3 Fixed import paths 2022-08-30 01:11:10 -04:00
06a99ce232 Implement new tokens
I think this is all of them. The test will tell.
2022-08-30 01:02:49 -04:00
Sasha Koshka
1c2194b68a Added text descriptions for new tokens 2022-08-25 23:21:00 -04:00
Sasha Koshka
453a596587 Added test case for new tokens 2022-08-25 23:17:42 -04:00
c3b6330b22 Added base function parsing 2022-08-25 20:01:12 -04:00
723b506005 Added test code for function sections 2022-08-25 16:08:18 -04:00
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
e630ec6f04 Added function section to tree 2022-08-25 12:02:43 -04:00
Sasha Koshka
0ac71fa1c3 Added progress heatmap 2022-08-25 00:51:54 -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
8175a9d4c5 Added some more tokens to the TokenKind enum 2022-08-24 23:58:21 -04:00