Commit Graph

47 Commits

Author SHA1 Message Date
42a51477ec Added ( and ) tokens 2022-09-13 17:04:43 -04:00
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
7714c08846 Tokens with a dash beginning are positioned correctly 2022-09-03 12:58:06 -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
9232432c35 Implemented thos bad boys 2022-08-25 00:05:40 -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
39e4fbe844 Replaced references to file.Error with infoerr.Error 2022-08-18 00:58:40 -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
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
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
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
6acc11d046 Removed debug rune printing th 2022-08-11 04:19:39 -05:00
af6f170833 Normalized whitespace tokens 2022-08-11 03:47:42 -05:00
0a31ea7bf8 Support for digraphs such as &&, <<, ++ 2022-08-11 02:54:20 -05:00
758b85e735 Added naieve string and char literal parsing 2022-08-11 02:47:51 -05:00
9e4684dbed Number tokenizing functions use one digit conversion functions 2022-08-11 01:57:04 -05:00
8813928b68 Negative numbers are now supported 2022-08-11 01:10:34 -05:00
0f603e3bf7 I am an idiot 2022-08-11 01:00:57 -05:00
7a45224449 Reduced code du0plicaion with number lexing functions 2022-08-11 00:57:04 -05:00
3d610df44e Added support for decimal and octal numbers 2022-08-11 00:21:04 -05:00
8f38203684 Added support for binary literals 2022-08-11 00:17:22 -05:00
77f3c590c6 Added lexing hexidecimal numbers 2022-08-11 00:14:41 -05:00
040e14d27c Test now prints out list of tokens 2022-08-10 15:02:08 -04:00
2220b95cd2 Name and permission tokens are now supported 2022-08-10 14:55:26 -04:00
9c1baf8216 Lexer can now tokenize
minus
decrement
return direction
separator
2022-08-10 14:18:28 -04:00
314c045e65 Lexer no longer hangs when encountering letters 2022-08-10 13:59:09 -04:00
9f8b48161a Lexer unit test now prints out resulting error 2022-08-10 13:03:48 -04:00
3f16d34aa1 Added unit test for lexer 2022-08-10 11:28:29 -04:00
245798f33d Print warning when a tab is discovered where it shouldn't be 2022-08-10 01:22:53 -04:00
0d2d10fe04 All basic symbol tokens are now parsed 2022-08-10 01:03:59 -04:00
a0ce033c27 Added a ton more token kinds 2022-08-10 00:48:18 -04:00
64de897de5 Added lexing various symbol tokens 2022-08-09 22:18:12 -04:00
861400b4a1 LexingOperation now stores the list of tokens 2022-08-09 22:12:14 -04:00
c042305ebe Test commit
Trying to see if my username appears
2022-08-09 21:44:41 -04:00
Sasha Koshka
488af74b75 Laid out basic lexer structure 2022-08-09 20:45:06 -04:00
Sasha Koshka
2ea0c86c54 Added README 2022-08-09 01:51:56 -04:00
Sasha Koshka
e8f6165f38 Created stub high-level module compilation function 2022-08-08 03:08:50 -04:00
Sasha Koshka
47234e9f36 Added lexer stub 2022-08-07 15:18:59 -04:00