parser-remove-participle #7
sashakoshka
commented 2024-02-08 08:29:14 +00:00
Owner
No description provided.
sashakoshka
added 92 commits 2024-02-08 08:29:14 +00:00
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
sashakoshka
merged commit 090d52b8f8 into remove-participle 2024-02-08 08:29:24 +00:00
sashakoshka
deleted branch parser-remove-participle 2024-02-08 08:29:24 +00:00
sashakoshka
referenced this issue from a commit 2024-02-08 08:29:26 +00:00
Merge pull request 'parser-remove-participle' (#7) from parser-remove-participle into remove-participle
sashakoshka
referenced this issue from a commit 2024-03-31 05:45:10 +00:00
Merge pull request 'parser-remove-participle' (#7) from parser-remove-participle into remove-participle
sashakoshka
referenced this issue from a commit 2024-03-31 05:50:23 +00:00
Merge pull request 'parser-remove-participle' (#7) from parser-remove-participle into remove-participle
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#7
Loading…
Reference in New Issue
No description provided.
Delete Branch "parser-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?