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
7bde082f36
Switch cases are parsed now
2022-09-03 15:38:57 -04:00
7714c08846
Tokens with a dash beginning are positioned correctly
2022-09-03 12:58:06 -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
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
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
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
Sasha Koshka
067bf2f4df
Altered tree so that object members are stored in an array
2022-08-24 20:09:57 -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
15eb96e8ac
Lexer passes all width tests
2022-08-18 11:35:48 -04:00
Sasha Koshka
120976a0f3
Numbers now tokenize with the correct width
2022-08-18 11:32:50 -04:00
Sasha Koshka
bde4bf8493
String and rune literals now have correct width
2022-08-18 11:25:40 -04:00
Sasha Koshka
a013d4caad
Lexer tests now check token width
2022-08-18 11:14:42 -04:00
Sasha Koshka
be9a3603d2
Made structural change to lexer test definitions
2022-08-18 11:02:49 -04:00
Sasha Koshka
54de3d1270
Fixed test columns and widths
2022-08-18 02:06:00 -04:00
Sasha Koshka
a87973c141
Error widths now work properly
2022-08-18 02:04:49 -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
39e4fbe844
Replaced references to file.Error with infoerr.Error
2022-08-18 00:58:40 -04:00
Sasha Koshka
dd8bbf8b13
Lexer now uses go's strconv number parsing functions
...
This allows for better accuracy when parsing floats, at the cost of only
supporting decimal floating point literals. The lexer now passes all tests.
2022-08-18 00:31:27 -04:00
Sasha Koshka
3407aa7c59
Fixed lexing digraph tokens
...
Lexer gave wrong token locations and would skip an extra rune when digraph was
not found.
2022-08-16 20:29:00 -04:00
Sasha Koshka
9e01eef45b
Added elipsis token
2022-08-16 20:24:27 -04:00
Sasha Koshka
8b28fe5a4c
Added a comma token
2022-08-15 14:50:09 -04:00
Sasha Koshka
608162fa92
Fixed bug in number lexing function that prevented reading zero
2022-08-15 14:42:32 -04:00
Sasha Koshka
d27c0ff07c
Added single digit zero and eight to lexer number test
2022-08-15 14:32:59 -04:00
b3071d4ac9
Token kind values can now be described
2022-08-12 16:30:32 -05:00
856d5763d3
Lexer tokens are now created by the lexer
...
This is so positional information can be accurately embedded into them.
2022-08-12 14:34:07 -05:00
accf528869
Locations and tokens are now capable of creating errors on their own
2022-08-12 13:51:38 -05:00
7914f0df45
Location now stores width instead of Error
2022-08-12 13:43:09 -05:00
f4f19a809a
Lexer now eats :arf symbol at file beginning
2022-08-12 10:38:23 -05:00
c09c9860b8
Parser tests are now arf files
2022-08-12 10:26:16 -05:00
81b47f7734
Replaced all occurences of github.com with git.tebibyte.media
2022-08-12 10:21:36 -05:00
31a2d84483
Removed erroneous indentation from indent test file
...
Need to find a more controlled and accurate way to test erroneous indentation.
Possibly by analyzing the returned error object.
2022-08-11 18:34:02 -05:00
ee9fa3a766
Indentation tokens now carry their indentation level
...
They are no longer stored in sequence
2022-08-11 12:53:20 -05:00
471eb863f4
Created indent test
2022-08-11 12:47:50 -05:00
71157122d6
Added support for hex, octal, and unicode escape sequences
2022-08-11 12:39:49 -05:00
f7a823687e
Added new test for string and rune literals (which it passes)
2022-08-11 12:12:41 -05:00
4f37715a8c
Hexidecimal numbers are now properly read
2022-08-11 04:25:56 -05:00
7a0ed247e2
Added number lexing unit test
2022-08-11 04:23:06 -05:00
6acc11d046
Removed debug rune printing th
2022-08-11 04:19:39 -05:00
a0d5b3a1a2
Added basic escape sequences to string parser
2022-08-11 04:05:55 -05:00
4d73fa4b83
Fixed equality issue with int
2022-08-11 03:58:45 -05:00
bef5b0328e
Fixed PermissionFrom()
2022-08-11 03:52:16 -05:00