Commit Graph

358 Commits

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