remove-participle #10
sashakoshka
commented 2024-02-08 18:34:02 +00:00
Owner
No description provided.
sashakoshka
added 116 commits 2024-02-08 18:34:02 +00:00
6bfc073608
Added new Errorf function, added row/column offset
d2ecd7a266
Lexer has no dependency on participle now
031f7008fa
Merge pull request 'lexer-remove-participle' (#3) from lexer-remove-participle into remove-participle
187ed48c4f
Remove entity dependency on participle
50ec220d08
Remove entity participle struct tags
57d1ab9b2a
Parser test-common uses testcommon package
dc6a36b548
Cleared particple code from parser
0d79482568
Define basic parser structure
04e5ead3db
Go mod tidy
ff9c275980
Add Token.Is() to check if token is any of a set of kinds
b6a920af58
Added expect functions to parser
ec3907d841
Add TokenKind.String
7db231a945
Add ValueIs method to lexer.Token
5fe6e32f92
Add Dot and DoubleDot as separate tokens
66f0e2d8d9
Un-participle-ify entity.Access
cce8c756fc
Parser now remembers last token
8cfb4f3e6d
Parser top-level entity base
eafc834ef3
Parser.parseSignature stub
3d1bef3a32
Move top-level expect from Parser.parseTopLevel into Parser.parse()
ac433f07ec
Rename typeStartTokens to startTokensType
4a2671c601
askl;d;sldkf
118e7672bd
Why did I name a prepend function appendr??
08f1027834
Added commaList function
3e89953d07
Add parser.Tree.AddDeclaration()
79f51ce4c6
Parser.expectValue() and Parser.expectValueDesc() take in a kind parameter now
3c67cf576c
Expression parsing stub
1b50c8f879
Method and function parsing complete, without detail
bca9de4106
Parsing functions *always* begin on current token, leave trailing one
f4e5e1ea3d
Appended -Core to parsing methods that only partially parse things
76c129f91c
Add type parsing stub
a09a0ce34c
Typedef parsing complete, without detail
c1c2ab5124
Further normalize expectation responsibilities of parsing methods
77783c1004
Add a guide to writing parser methods so I don't forget
825e71a720
Created a plan for expression parsing
ef14fc2219
Parser is incomplete but compiles
c2d9b4d40f
Added Token.String()
f3f8b324dc
Parser errors make more sense
e6043effe0
Lexer tests check for line content, print formatted errors
6fc16c7045
Lexer saves error lines
6924d39dcb
Fixed error test cases
100986327e
FINALLY errors and lexer agree on row/col positions properly
84d88a7644
I want to look at my juicy error formatting even when it passes
39d8ed088d
Lexer now records the width of tokens
9dab29f5cb
Token.Is and Token.ValueIs work properly
8adaa0e053
Added parsing named types
6ad56ed4ee
Add some convenience methods to parser, fix appendCopy
59e3185500
Parse pointers/slices
23362b058d
Normalize parsing of access control symbols
cb7734afe6
Array type parsing
f8399612f6
De-ambiguify interface and struct type syntax
19910b77a9
Parse struct types
1529e591e8
Parse signatures
48fe20b472
Parse interface types
424b621bae
Fix function parsing
97605d8c2a
Parse integer, word, and float types
02ec77b855
Updated TestType test case for parser
0762d72486
Allow arbitrary integer width
51ef3682f1
Function headings are now parsed correctly
531d3ca22b
Created an expression decision tree plan
cc8426bf85
Add tokens to startTokensExpression
16f27cd2ee
Parser panic information is now more detailed
a47023fc95
Declaration and variable expression parsing
d445743200
Add parsing int, float, and string literals
854abfed1c
Broke out Parser.parseVariable() for consistency
ed239aabb9
Remove entity.Boolean because I have overcome my haters
4a3e06362d
What crack was I smoking when I made LiteralNil.Value
87c6490183
Fix commaList
ea8d5e6b3a
Add parsing boolean and nil literals
8cd0871939
Fix expression parsing control flow
c1df3f5ae5
Add stars in expression-decision-tree to mark what isn't done
161ee28e7b
Move literal parsing routines to a separate file
be35cda999
Parse loops
ac83753c56
Parse if/else expressions
2882a28621
Update expression-decision-tree
f997254270
Parse array literals
30d479565b
Fix parsing integer 0
b17ffdc6d9
Update expression-decision-tree
1a4bade4dd
Parse blocks
e0c62e40bf
Parse struct literals
116a687099
Decision tree infrastructure for LBracket branch
78786f4ea2
Parse break and return expressions
1bf47a9ebe
Parse function calls
e4c8268e18
Moved parser expression decision tree diagram to expression.go
1cdc14a313
Lowercased entity descriptions
a0a155c7e6
Parse dereferences and subscripts
5fad8a79dd
Re-organize the position of parsing functions in expression.go
e9348ea58f
Added string constructor for entity.Operator
b715dbcce3
Parse operations
de1f873929
Struct literals print correctly
99d4799883
Parse slice operations
335060ce84
Parse length operations
e1ae32278f
Parse reference operations
227a329538
Parse bit and value casts
95118a183b
Relaxed unneeded rules on AST
be314a1b79
Unify entity.Statement and entity.Expression
68b144a2df
Loll oops
ef7be1f7e8
Parse member access, assignment, method calls
202fd1f0bc
Bring most tests up to date
95e12d6d19
Parse namespaced function calls
090d52b8f8
Merge pull request 'parser-remove-participle' (#7) from parser-remove-participle into remove-participle
5bb9508a76
Rework analyzer code to fit new parser
9e815d0bea
Updated analyzer's test-common.go
c9fa465430
Off by one error oh my god
cb7180fa1c
Remove rouge println in parser
ba52a2df2e
Change interface prefix from ? to ~
19ba849e4b
Bring analyzer tests up to date as much as possible
498df4fad8
Parser now includes positional information in toplevels
775671442b
Signature positions are stored properly
5fa787dc64
Fix TestTypeInterfaceBehaviorUniqueErr
807732b460
Parser now accepts multiplication operations
16317a9eb8
Merge pull request 'remove-particple-refit-analyzer' (#8) from remove-particple-refit-analyzer into remove-participle
da4d21a87b
Go mod tidy. No more participle, officially!
0a87781445
Generator compiles and runs
ee90077f90
Fixed all generator tests
24f1044b8f
Fixed commaList
993416d3d8
Merge pull request 'remove-participle-refit-generator' (#9) from remove-participle-refit-generator into remove-participle
sashakoshka
merged commit 4089765633 into main 2024-02-08 18:34:18 +00:00
sashakoshka
deleted branch remove-participle 2024-02-08 18:34:18 +00:00
sashakoshka
referenced this issue from a commit 2024-02-08 18:34:20 +00:00
Merge pull request 'remove-participle' (#10) from remove-participle into main
sashakoshka
referenced this issue from a commit 2024-03-31 05:45:10 +00:00
Merge pull request 'remove-participle' (#10) from remove-participle into main
sashakoshka
referenced this issue from a commit 2024-03-31 05:50:23 +00:00
Merge pull request 'remove-participle' (#10) from remove-participle into main
No reviewers
Labels
No Label
bug
documentation
enhancement
help wanted
management
package: analyzer
package: compiler
package: errors
package: fsplc
package: generator
package: lexer
package: llvm
package: parser
performance
priority
question
refactor
status
backburner
status
duplicate
status
invalid
status
ongoing
status
wontfix
test
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: fspl/fspl#10
Loading…
Reference in New Issue
No description provided.
Delete Branch "remove-participle"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?