Commit Graph

358 Commits

Author SHA1 Message Date
fb95b935d6 Merge pull request 'remove-participle' (#10) from remove-participle into main
Reviewed-on: sashakoshka/fspl#10
2024-02-08 18:34:18 +00:00
483c87b3a3 Merge pull request 'remove-participle-refit-generator' (#9) from remove-participle-refit-generator into remove-participle
Reviewed-on: sashakoshka/fspl#9
2024-02-08 18:33:37 +00:00
e9b066d180 Fixed commaList 2024-02-08 13:32:15 -05:00
74e84c7da4 Fixed all generator tests 2024-02-08 13:32:04 -05:00
94a25f0aac Generator compiles and runs 2024-02-08 13:14:21 -05:00
c6424ea315 Go mod tidy. No more participle, officially! 2024-02-08 13:12:42 -05:00
9a3532bd3e Merge pull request 'remove-particple-refit-analyzer' (#8) from remove-particple-refit-analyzer into remove-participle
Reviewed-on: sashakoshka/fspl#8
2024-02-08 18:08:31 +00:00
2f9f3614d6 Parser now accepts multiplication operations 2024-02-08 13:05:47 -05:00
b614dde503 Fix TestTypeInterfaceBehaviorUniqueErr 2024-02-08 12:57:20 -05:00
ba4a455d2e Signature positions are stored properly 2024-02-08 12:54:31 -05:00
ed3d8e766c Parser now includes positional information in toplevels 2024-02-08 12:52:47 -05:00
04b4d71c64 Bring analyzer tests up to date as much as possible 2024-02-08 12:49:17 -05:00
b6cc02fcb8 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
b3fc38e7c0 Remove rouge println in parser 2024-02-08 04:00:25 -05:00
bb2d1966b9 Off by one error oh my god 2024-02-08 03:58:29 -05:00
cf75245820 Updated analyzer's test-common.go 2024-02-08 03:56:09 -05:00
d6a645f93b Rework analyzer code to fit new parser 2024-02-08 03:51:21 -05:00
17e3d1dfbe 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
8ec3649637 Parse namespaced function calls 2024-02-08 03:28:09 -05:00
823cb44406 Bring most tests up to date 2024-02-08 03:13:40 -05:00
1f3f94e24f Parse member access, assignment, method calls 2024-02-08 03:10:02 -05:00
fa252e59ab Loll oops 2024-02-08 02:22:57 -05:00
93c9f42aab Unify entity.Statement and entity.Expression 2024-02-08 02:22:19 -05:00
f04bf32ce2 Relaxed unneeded rules on AST 2024-02-08 02:19:00 -05:00
50fc1d16de Parse bit and value casts 2024-02-08 01:54:29 -05:00
d724b16cdc Parse reference operations 2024-02-08 01:37:36 -05:00
abbc8e52bf Parse length operations 2024-02-08 01:33:55 -05:00
90a505540e Parse slice operations 2024-02-08 01:29:16 -05:00
92b15eef6c Struct literals print correctly 2024-02-08 00:56:43 -05:00
3d89ed08cc Parse operations 2024-02-08 00:50:54 -05:00
d7d2d90b20 Added string constructor for entity.Operator 2024-02-08 00:29:24 -05:00
0bed97da02 Re-organize the position of parsing functions in expression.go 2024-02-08 00:16:39 -05:00
c347add41c Parse dereferences and subscripts 2024-02-08 00:14:52 -05:00
7697bab51a Lowercased entity descriptions 2024-02-07 22:58:58 -05:00
333172d00b 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
5dede3434f Parse function calls 2024-02-07 22:49:11 -05:00
4087e12fb9 Parse break and return expressions 2024-02-07 22:33:33 -05:00
8ad89623a9 Decision tree infrastructure for LBracket branch 2024-02-07 20:03:18 -05:00
3cf6154e62 Parse struct literals 2024-02-07 19:48:01 -05:00
dc64daa0e0 Parse blocks 2024-02-07 19:24:57 -05:00
8a553beaa8 Update expression-decision-tree 2024-02-07 19:17:25 -05:00
c90bb00241 Fix parsing integer 0 2024-02-07 19:16:05 -05:00
8515bc7350 Parse array literals 2024-02-07 19:14:39 -05:00
0fd38baf77 Update expression-decision-tree 2024-02-07 18:27:10 -05:00
47ca7b98c6 Parse if/else expressions 2024-02-07 18:25:42 -05:00
790f1ca6be Parse loops 2024-02-07 18:11:12 -05:00
78050694d6 Move literal parsing routines to a separate file 2024-02-07 18:01:14 -05:00
cd8c65e232 Add stars in expression-decision-tree to mark what isn't done 2024-02-07 17:57:39 -05:00
9cc015859e Fix expression parsing control flow 2024-02-07 17:51:44 -05:00
e32a3d997f Add parsing boolean and nil literals 2024-02-07 17:25:00 -05:00