Sasha Koshka
498df4fad8
Parser now includes positional information in toplevels
2024-02-08 12:52:47 -05:00
Sasha Koshka
19ba849e4b
Bring analyzer tests up to date as much as possible
2024-02-08 12:49:17 -05:00
Sasha Koshka
ba52a2df2e
Change interface prefix from ? to ~
...
? will eventually be used in place of * to denote an optional
pointer, and ~ already means "approximation", which works well for
a polymorphic data structure.
2024-02-08 04:10:11 -05:00
Sasha Koshka
cb7180fa1c
Remove rouge println in parser
2024-02-08 04:00:25 -05:00
Sasha Koshka
c9fa465430
Off by one error oh my god
2024-02-08 03:58:29 -05:00
Sasha Koshka
9e815d0bea
Updated analyzer's test-common.go
2024-02-08 03:56:09 -05:00
Sasha Koshka
5bb9508a76
Rework analyzer code to fit new parser
2024-02-08 03:51:21 -05:00
090d52b8f8
Merge pull request 'parser-remove-participle' ( #7 ) from parser-remove-participle into remove-participle
...
Reviewed-on: sashakoshka/fspl#7
2024-02-08 08:29:23 +00:00
Sasha Koshka
95e12d6d19
Parse namespaced function calls
2024-02-08 03:28:09 -05:00
Sasha Koshka
202fd1f0bc
Bring most tests up to date
2024-02-08 03:13:40 -05:00
Sasha Koshka
ef7be1f7e8
Parse member access, assignment, method calls
2024-02-08 03:10:02 -05:00
Sasha Koshka
68b144a2df
Loll oops
2024-02-08 02:22:57 -05:00
Sasha Koshka
be314a1b79
Unify entity.Statement and entity.Expression
2024-02-08 02:22:19 -05:00
Sasha Koshka
95118a183b
Relaxed unneeded rules on AST
2024-02-08 02:19:00 -05:00
Sasha Koshka
227a329538
Parse bit and value casts
2024-02-08 01:54:29 -05:00
Sasha Koshka
e1ae32278f
Parse reference operations
2024-02-08 01:37:36 -05:00
Sasha Koshka
335060ce84
Parse length operations
2024-02-08 01:33:55 -05:00
Sasha Koshka
99d4799883
Parse slice operations
2024-02-08 01:29:16 -05:00
Sasha Koshka
de1f873929
Struct literals print correctly
2024-02-08 00:56:43 -05:00
Sasha Koshka
b715dbcce3
Parse operations
2024-02-08 00:50:54 -05:00
Sasha Koshka
e9348ea58f
Added string constructor for entity.Operator
2024-02-08 00:29:24 -05:00
Sasha Koshka
5fad8a79dd
Re-organize the position of parsing functions in expression.go
2024-02-08 00:16:39 -05:00
Sasha Koshka
a0a155c7e6
Parse dereferences and subscripts
2024-02-08 00:14:52 -05:00
Sasha Koshka
1cdc14a313
Lowercased entity descriptions
2024-02-07 22:58:58 -05:00
Sasha Koshka
e4c8268e18
Moved parser expression decision tree diagram to expression.go
...
Because having ASCII flowcharts in comments makes any code base at
least 20% cooler.
2024-02-07 22:53:10 -05:00
Sasha Koshka
1bf47a9ebe
Parse function calls
2024-02-07 22:49:11 -05:00
Sasha Koshka
78786f4ea2
Parse break and return expressions
2024-02-07 22:33:33 -05:00
Sasha Koshka
116a687099
Decision tree infrastructure for LBracket branch
2024-02-07 20:03:18 -05:00
Sasha Koshka
e0c62e40bf
Parse struct literals
2024-02-07 19:48:01 -05:00
Sasha Koshka
1a4bade4dd
Parse blocks
2024-02-07 19:24:57 -05:00
Sasha Koshka
b17ffdc6d9
Update expression-decision-tree
2024-02-07 19:17:25 -05:00
Sasha Koshka
30d479565b
Fix parsing integer 0
2024-02-07 19:16:05 -05:00
Sasha Koshka
f997254270
Parse array literals
2024-02-07 19:14:39 -05:00
Sasha Koshka
2882a28621
Update expression-decision-tree
2024-02-07 18:27:10 -05:00
Sasha Koshka
ac83753c56
Parse if/else expressions
2024-02-07 18:25:42 -05:00
Sasha Koshka
be35cda999
Parse loops
2024-02-07 18:11:12 -05:00
Sasha Koshka
161ee28e7b
Move literal parsing routines to a separate file
2024-02-07 18:01:14 -05:00
Sasha Koshka
c1df3f5ae5
Add stars in expression-decision-tree to mark what isn't done
2024-02-07 17:57:39 -05:00
Sasha Koshka
8cd0871939
Fix expression parsing control flow
2024-02-07 17:51:44 -05:00
Sasha Koshka
ea8d5e6b3a
Add parsing boolean and nil literals
2024-02-07 17:25:00 -05:00
Sasha Koshka
87c6490183
Fix commaList
2024-02-07 17:09:35 -05:00
Sasha Koshka
4a3e06362d
What crack was I smoking when I made LiteralNil.Value
2024-02-07 15:46:42 -05:00
Sasha Koshka
ed239aabb9
Remove entity.Boolean because I have overcome my haters
2024-02-07 15:41:48 -05:00
Sasha Koshka
854abfed1c
Broke out Parser.parseVariable() for consistency
2024-02-07 15:36:33 -05:00
Sasha Koshka
d445743200
Add parsing int, float, and string literals
2024-02-07 14:15:06 -05:00
Sasha Koshka
a47023fc95
Declaration and variable expression parsing
2024-02-07 13:26:25 -05:00
Sasha Koshka
16f27cd2ee
Parser panic information is now more detailed
2024-02-07 13:01:25 -05:00
Sasha Koshka
cc8426bf85
Add tokens to startTokensExpression
2024-02-07 12:50:19 -05:00
Sasha Koshka
531d3ca22b
Created an expression decision tree plan
2024-02-07 12:44:54 -05:00
Sasha Koshka
51ef3682f1
Function headings are now parsed correctly
2024-02-07 11:38:15 -05:00