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
aff2e55aa5
Separated data.go
2022-09-03 20:16:49 -04:00
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
6446cbfafc
The test case was wrong
2022-09-03 20:07:25 -04:00
9fb75e0228
Function output default values are ToString'd
2022-09-03 19:49:08 -04:00
16e06aacb8
Set phrase initialization values ToString correctly
2022-09-03 19:24:09 -04:00
bf2839508d
Set phrase initiailzation values are now parsed correctly
2022-09-03 16:37:36 -04:00
c6428f6f8e
Blocks under phrases are parsed according to phrase kind
2022-09-03 16:28:36 -04:00
ac548bf438
loc
will be the referencing "operator"
2022-09-03 16:24:13 -04:00
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