Tristan B. V. Kildaire
c3a1a93b3a
First-level precedence-based name collision detection
2021-04-01 15:21:10 +02:00
Tristan B. V. Kildaire
265f00f03b
Made error messages more verbose
2021-04-01 08:56:06 +02:00
Tristan B. V. Kildaire
d781a92554
More verbose error messages
2021-04-01 08:51:55 +02:00
Tristan B. V. Kildaire
4f32fb9619
Only use grand resolver here now that it is implemented
2021-04-01 08:47:44 +02:00
Tristan B. V. Kildaire
c5f45e6a36
Added top down (using module name) resolution to the grand resolver
2021-03-31 21:15:28 +02:00
Tristan B. V. Kildaire
ab5ee58055
Removed useless check
2021-03-31 21:08:41 +02:00
Tristan B. V. Kildaire
91231ddebd
Removed redundant check
2021-03-31 20:57:29 +02:00
Tristan B. V. Kildaire
0e748f15c1
Refactored name resolution code
2021-03-31 12:54:34 +02:00
Tristan B. V. Kildaire
0fda46c857
Added TODO
2021-03-31 10:34:24 +02:00
Tristan B. V. Kildaire
290028d203
Updated test case
2021-03-31 10:33:59 +02:00
Tristan B. V. Kildaire
bcd9ea608a
Updated test case
2021-03-31 10:30:25 +02:00
Tristan B. V. Kildaire
bd3a1bfd70
Grand resolver completed (one bug remains for parentless niggas)
...
Updated test cases to test this (I have tested erroneous as well and they work well)
2021-03-30 23:22:37 +02:00
Tristan B. V. Kildaire
c3faf06914
Bottom up and top-down name resolution are working
2021-03-30 22:04:11 +02:00
Tristan B. V. Kildaire
2c54333259
Don't allow classes to be defined with same name as their container (direct)
2021-03-30 21:54:27 +02:00
Tristan B. V. Kildaire
9b84fc3428
Allow shadowing of types
2021-03-30 21:36:35 +02:00
Tristan B. V. Kildaire
e7905aace2
Made class name constraints good. You can have your duplicate names nested but not at same level
2021-03-30 21:29:57 +02:00
Tristan B. V. Kildaire
16435c204e
Epic class inheritance name resolution
2021-03-30 21:07:04 +02:00
Tristan B. V. Kildaire
28bc6c140e
WIP
2021-03-30 20:05:16 +02:00
Tristan B. V. Kildaire
ec5d70f02c
WIP: Class definining
2021-03-30 18:51:32 +02:00
Tristan B. V. Kildaire
5f6c9b5f57
Cleaned up variable declaring
...
Also declared variables when assignment is completed
2021-03-30 18:02:13 +02:00
Tristan B. V. Kildaire
0445534cda
Refactored symbols
2021-03-30 17:35:16 +02:00
Tristan B. V. Kildaire
6649804d4e
Refactoring
...
Removed uneeded type 'Symbol'
2021-03-30 17:31:37 +02:00
Tristan B. Kildaire
f693d71a8a
Allowed function calls to have multiple arguments passed to them
2021-03-30 16:25:26 +02:00
Tristan B. Kildaire
4610a2ba7b
WIP
2021-03-30 16:20:47 +02:00
Tristan B. Kildaire
4ddf3b8710
Seems to work
2021-03-30 10:09:55 +02:00
Tristan B. Kildaire
10a9b8d470
Deuplicate identifier deteciton works
2021-03-30 09:56:37 +02:00
Tristan B. Kildaire
06ba886328
WIP
2021-03-29 22:27:48 +02:00
Tristan B. Kildaire
74fb188d82
Now all containers set their children Statements to be parented to them (container a reference to them)
2021-03-29 22:20:47 +02:00
Tristan B. Kildaire
afcf1609b6
Added `parenTo(Statement)` to `Statement` which will allow us to link stuff toghether in containers
2021-03-29 21:48:59 +02:00
Tristan B. Kildaire
adc9457a0f
WIP: Name resoltuion
2021-03-29 21:47:30 +02:00
Tristan B. Kildaire
0433bccc00
Duplicate variable detection works
2021-03-29 21:26:16 +02:00
Tristan B. Kildaire
9c829302a5
WIP
2021-03-29 21:06:37 +02:00
Tristan B. Kildaire
2cf88b01be
WIP: Might need to attach parnt to have linked list linked stuff up, for scope and stuff
2021-03-29 21:06:30 +02:00
Tristan B. V. Kildaire
6edd787588
Fixed `getAllOf`
2021-03-29 19:13:39 +02:00
Tristan B. V. Kildaire
38ef3a49c1
Added support for unary operators
...
Currently any math operator is allowed in unary form, of course this must be changed
Updated test cases to test this
2021-03-29 17:31:17 +02:00
Tristan B. V. Kildaire
50e84ec06e
Fixed bug for `()` parsing
2021-03-29 14:48:47 +02:00
Tristan B. V. Kildaire
fc6b28fcca
WIP: Expression parsing and data strucure generation
2021-03-29 14:35:52 +02:00
Tristan B. V. Kildaire
61aaa84daf
Fixed parsing of dot-path identifiers
...
Updated test case
2021-03-29 13:48:32 +02:00
Tristan B. V. Kildaire
e469cc3ec3
Added functions to lexer to aid in dot-identifier parsing
...
Made isPathIdentifier public
Updated test case
2021-03-29 13:44:09 +02:00
Tristan B. V. Kildaire
e003a9879f
Removd testing stuff
2021-03-29 13:34:30 +02:00
Tristan B. V. Kildaire
1883a91e86
Fixed unit tests
2021-03-28 22:41:04 +02:00
Tristan B. V. Kildaire
66ca7e5e5b
Updated test case
2021-03-28 22:40:35 +02:00
Tristan B. V. Kildaire
7296bea22a
Updated test case
2021-03-28 22:37:35 +02:00
Tristan B. V. Kildaire
e8915d7525
Fixed bug for name checking for function parameters
2021-03-28 22:32:44 +02:00
Tristan B. V. Kildaire
165d08f411
Removed debug panic
2021-03-28 22:29:52 +02:00
Tristan B. V. Kildaire
c53397fa0d
Fixed class name check in class definition
2021-03-28 22:29:33 +02:00
Tristan B. V. Kildaire
6a19e1c430
Fixed bug that made identifier checks not work
2021-03-28 22:27:09 +02:00
Tristan B. V. Kildaire
b465d7e5b7
Fixed function calls
2021-03-28 22:05:58 +02:00
Tristan B. V. Kildaire
733bf117c0
Using `parseName` now for whenever a name appears, this is for function calls (not in expressions), typed declarations
...
We are not gonna do f(x)*f(g); Like no, only a function per statement. So we need not implement expression statements.
Name parsing is done seperately for parseExpression
Also added null check for Function.getVariables, as function calls don't yet get added and add 0 ptrs
2021-03-28 21:54:38 +02:00
Tristan B. V. Kildaire
467bdb6ff9
Added two functions which will be used for checking if we get an identifier that ia valid for being a path identifier and also one for normal identifiers.
2021-03-28 20:11:54 +02:00