sashakoshka
|
1f68f252e0
|
Added defer statement to control flow test
|
2022-09-03 00:17:50 -04:00 |
|
sashakoshka
|
b220f3dab5
|
Definition arguments are now parsed correctly
|
2022-09-03 00:17:25 -04:00 |
|
sashakoshka
|
689200085a
|
Putting pointers in interfaces is incredibly stupid
|
2022-09-03 00:01:01 -04:00 |
|
sashakoshka
|
dbbe0198d5
|
Phrases in functions are now ToString'd
|
2022-09-02 23:38:30 -04:00 |
|
sashakoshka
|
eee50dc9b0
|
Added argument level phrase parsing
|
2022-09-02 22:43:48 -04:00 |
|
sashakoshka
|
44021fe875
|
Added some primitive phrase parsing
|
2022-09-02 22:37:52 -04:00 |
|
sashakoshka
|
fccb67e5c0
|
Added basic func section ToString
|
2022-09-02 02:36:14 -04:00 |
|
sashakoshka
|
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 |
|
sashakoshka
|
ed44795664
|
Lexer now rejects strange chars in integer literals
|
2022-09-02 01:37:58 -04:00 |
|
sashakoshka
|
ac7074a819
|
Added support for "external" keyword
|
2022-09-02 01:25:22 -04:00 |
|
sashakoshka
|
08f111ccbf
|
Various fixes to function parsing
- Newlines are handled better
- Types are actually parsed
|
2022-09-01 22:10:57 -04:00 |
|
sashakoshka
|
bcb1b9b6d2
|
parseFuncSection calls parseFuncArguments now
|
2022-09-01 21:43:56 -04:00 |
|
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 |
|