Commit Graph

83 Commits

Author SHA1 Message Date
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
Sasha Koshka
7fc51c278f Fixed issue with Error.Error not positioning marker correctly 2022-08-15 14:30:54 -04:00
Sasha Koshka
3a3c588023 Added data test 2022-08-15 14:23:53 -04:00
Sasha Koshka
00bcfaab0b Parser tests now work by checking the ToString() of the parsed tree 2022-08-15 14:17:29 -04:00
Sasha Koshka
d91423863b Added ToString methods for syntax tree nodes 2022-08-15 14:04:57 -04:00
Sasha Koshka
b02ff6cda6 Created structs needed to represent a data section 2022-08-15 01:47:42 -04:00
Sasha Koshka
0a067524ce Added base parse body function 2022-08-14 22:38:57 -04:00
sashakoshka
8f42fa9c2a Add some more guidelines to readme 2022-08-12 20:32:58 -04:00
714aca5196 Fix parseMeta not getting enough tokens
Parser now passes TestMeta
2022-08-12 17:12:38 -05:00
033e64fc54 Parser can now print out a list of expected token kinds 2022-08-12 17:09:37 -05:00
b3071d4ac9 Token kind values can now be described 2022-08-12 16:30:32 -05:00
f23c3a234a Added metadata parser 2022-08-12 16:22:51 -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
050c956787 Added expect and nextToken methods to parser 2022-08-12 13:33:21 -05:00
18bd681082 Parser now understands the separation between files
This needs to be done because each file has a metadata section at the top.
2022-08-12 12:02:20 -05:00
2019c67bbb Created basic test for parser 2022-08-12 11:55:17 -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
09170e390d Created base for parser
The parser now handles file opening and invokes the lexer.
2022-08-12 10:11:43 -05:00
5a55c9ac87 Check off lexer in readme 2022-08-11 18:37:00 -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
2a7111e700 Colored error line/column numbers as well 2022-08-11 13:16:59 -05:00
dfa64f3c3d Added color to errors 2022-08-11 13:15:57 -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
92c3e41810 Merge pull request 'pass-test-tokenize-all' (#1) from pass-test-tokenize-all into main
Reviewed-on: sashakoshka/arf#1
2022-08-11 09:07:36 +00: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
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
3768e3454f Added float support 2022-08-11 02:17:35 -05:00
40ad569870 Collapsed all number tokenization functions into just one 2022-08-11 02:03:54 -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