Commit Graph
86 Commits
Author SHA1 Message Date
sashakoshka 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
sashakoshka 8ccfc935ab Test logs error even if tree is nil 2022-09-01 21:37:15 -04:00
sashakoshka d9e58cee0c Uncommented things in func section test 2022-09-01 20:54:10 -04:00
sashakoshka fcfa672652 Cleaned some go vet warnings 2022-09-01 18:40:51 -04:00
sashakoshka f585e5119f Removed useless logging in objt sections 2022-09-01 18:03:01 -04:00
sashakoshka aec266a82e Fail test on nil tree 2022-09-01 18:02:14 -04:00
sashakoshka 8d46188f6c Throw an error on malformed func arguments list 2022-09-01 17:55:57 -04:00
sashakoshka 5371c0eeae Added untested parsing of function arguments 2022-09-01 17:42:56 -04:00
sashakoshka 7deacff330 AST supports function output default values 2022-09-01 17:13:40 -04:00
sashakoshka eed9e4e7b9 Bit shift assignment tokens now have correct width 2022-08-30 01:35:40 -04:00
sashakoshka 067729d435 Parse binary XOR tokens 2022-08-30 01:33:58 -04:00
sashakoshka 05954546eb Remove useless files 2022-08-30 01:11:37 -04:00
sashakoshka 65c213f1f3 Fixed import paths 2022-08-30 01:11:10 -04:00
sashakoshka 06a99ce232 Implement new tokens
I think this is all of them. The test will tell.
2022-08-30 01:02:49 -04:00
sashakoshka c3b6330b22 Added base function parsing 2022-08-25 20:01:12 -04:00
sashakoshka 723b506005 Added test code for function sections 2022-08-25 16:08:18 -04:00
sashakoshka 6bbee2e13b Created comprehensive test case 2022-08-25 15:46:35 -04:00
sashakoshka 777c8df6a4 Changed the logo color because why not lol 2022-08-24 18:57:45 -04:00
sashakoshka c470997887 Did the same thing to interfaces 2022-08-24 18:57:07 -04:00
sashakoshka 715766edb4 Objects can only inherit by specifiying an identifier 2022-08-24 18:52:31 -04:00
sashakoshka e316eb7791 Changed bit field syntax to use an & symbol 2022-08-24 18:37:44 -04:00
sashakoshka 731cc828ce Added untested bit width parsing 2022-08-24 18:29:15 -04:00
sashakoshka 05aa0e6177 Added bitfields to object section test case 2022-08-24 18:23:11 -04:00
sashakoshka fb43f96acc Added bit fields to tree and ToString for object member 2022-08-24 18:22:47 -04:00
sashakoshka b0d4ecc83f Added interface section parsing to body 2022-08-23 15:14:44 -04:00
sashakoshka 4eac5c67aa Added untested interface section parsing 2022-08-23 15:13:00 -04:00
sashakoshka 441b036a1c Updated test case to reflect previous commit 2022-08-23 14:07:56 -04:00
sashakoshka 8817d72cb3 Interfaces can inherit other interfaces 2022-08-23 13:56:59 -04:00
sashakoshka 3ef1e706b3 Added ToString method to face section 2022-08-23 13:54:44 -04:00
sashakoshka 944fc8514e Add correct output for face test case 2022-08-23 13:46:20 -04:00
sashakoshka 714aca5196 Fix parseMeta not getting enough tokens
Parser now passes TestMeta
2022-08-12 17:12:38 -05:00
sashakoshka 033e64fc54 Parser can now print out a list of expected token kinds 2022-08-12 17:09:37 -05:00
sashakoshka b3071d4ac9 Token kind values can now be described 2022-08-12 16:30:32 -05:00
sashakoshka f23c3a234a Added metadata parser 2022-08-12 16:22:51 -05:00
sashakoshka 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
sashakoshka accf528869 Locations and tokens are now capable of creating errors on their own 2022-08-12 13:51:38 -05:00
sashakoshka 7914f0df45 Location now stores width instead of Error 2022-08-12 13:43:09 -05:00
sashakoshka 050c956787 Added expect and nextToken methods to parser 2022-08-12 13:33:21 -05:00
sashakoshka 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
sashakoshka 2019c67bbb Created basic test for parser 2022-08-12 11:55:17 -05:00
sashakoshka f4f19a809a Lexer now eats :arf symbol at file beginning 2022-08-12 10:38:23 -05:00
sashakoshka c09c9860b8 Parser tests are now arf files 2022-08-12 10:26:16 -05:00
sashakoshka 81b47f7734 Replaced all occurences of github.com with git.tebibyte.media 2022-08-12 10:21:36 -05:00
sashakoshka 09170e390d Created base for parser
The parser now handles file opening and invokes the lexer.
2022-08-12 10:11:43 -05:00
sashakoshka 5a55c9ac87 Check off lexer in readme 2022-08-11 18:37:00 -05:00
sashakoshka 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
sashakoshka 2a7111e700 Colored error line/column numbers as well 2022-08-11 13:16:59 -05:00
sashakoshka dfa64f3c3d Added color to errors 2022-08-11 13:15:57 -05:00
sashakoshka ee9fa3a766 Indentation tokens now carry their indentation level
They are no longer stored in sequence
2022-08-11 12:53:20 -05:00
sashakoshka 471eb863f4 Created indent test 2022-08-11 12:47:50 -05:00
sashakoshka 71157122d6 Added support for hex, octal, and unicode escape sequences 2022-08-11 12:39:49 -05:00
sashakoshka f7a823687e Added new test for string and rune literals (which it passes) 2022-08-11 12:12:41 -05:00
sashakoshka 4f37715a8c Hexidecimal numbers are now properly read 2022-08-11 04:25:56 -05:00
sashakoshka 7a0ed247e2 Added number lexing unit test 2022-08-11 04:23:06 -05:00
sashakoshka 6acc11d046 Removed debug rune printing th 2022-08-11 04:19:39 -05:00
sashakoshka a0d5b3a1a2 Added basic escape sequences to string parser 2022-08-11 04:05:55 -05:00
sashakoshka 4d73fa4b83 Fixed equality issue with int 2022-08-11 03:58:45 -05:00
sashakoshka bef5b0328e Fixed PermissionFrom() 2022-08-11 03:52:16 -05:00
sashakoshka af6f170833 Normalized whitespace tokens 2022-08-11 03:47:42 -05:00
sashakoshka 0a31ea7bf8 Support for digraphs such as &&, <<, ++ 2022-08-11 02:54:20 -05:00
sashakoshka 758b85e735 Added naieve string and char literal parsing 2022-08-11 02:47:51 -05:00
sashakoshka 3768e3454f Added float support 2022-08-11 02:17:35 -05:00
sashakoshka 40ad569870 Collapsed all number tokenization functions into just one 2022-08-11 02:03:54 -05:00
sashakoshka 9e4684dbed Number tokenizing functions use one digit conversion functions 2022-08-11 01:57:04 -05:00
sashakoshka 8813928b68 Negative numbers are now supported 2022-08-11 01:10:34 -05:00
sashakoshka 0f603e3bf7 I am an idiot 2022-08-11 01:00:57 -05:00
sashakoshka 7a45224449 Reduced code du0plicaion with number lexing functions 2022-08-11 00:57:04 -05:00
sashakoshka 3d610df44e Added support for decimal and octal numbers 2022-08-11 00:21:04 -05:00
sashakoshka 8f38203684 Added support for binary literals 2022-08-11 00:17:22 -05:00
sashakoshka 77f3c590c6 Added lexing hexidecimal numbers 2022-08-11 00:14:41 -05:00
sashakoshka 040e14d27c Test now prints out list of tokens 2022-08-10 15:02:08 -04:00
sashakoshka 2220b95cd2 Name and permission tokens are now supported 2022-08-10 14:55:26 -04:00
sashakoshka 9c1baf8216 Lexer can now tokenize
minus
decrement
return direction
separator
2022-08-10 14:18:28 -04:00
sashakoshka d43a2540cf Fixed error formatting column indicator 2022-08-10 14:08:04 -04:00
sashakoshka 314c045e65 Lexer no longer hangs when encountering letters 2022-08-10 13:59:09 -04:00
sashakoshka 9f8b48161a Lexer unit test now prints out resulting error 2022-08-10 13:03:48 -04:00
sashakoshka cf04dfd600 Lexer unit test now works properly 2022-08-10 12:58:47 -04:00
sashakoshka 2e965d6f68 Added Permission type 2022-08-10 12:52:20 -04:00
sashakoshka 488220f3a7 Added all tokens to unit test 2022-08-10 11:43:21 -04:00
sashakoshka 3f16d34aa1 Added unit test for lexer 2022-08-10 11:28:29 -04:00
sashakoshka 245798f33d Print warning when a tab is discovered where it shouldn't be 2022-08-10 01:22:53 -04:00
sashakoshka 0d2d10fe04 All basic symbol tokens are now parsed 2022-08-10 01:03:59 -04:00
sashakoshka a0ce033c27 Added a ton more token kinds 2022-08-10 00:48:18 -04:00
sashakoshka 64de897de5 Added lexing various symbol tokens 2022-08-09 22:18:12 -04:00
sashakoshka 861400b4a1 LexingOperation now stores the list of tokens 2022-08-09 22:12:14 -04:00
sashakoshka c042305ebe Test commit
Trying to see if my username appears
2022-08-09 21:44:41 -04:00