Skip to content

Commit

Permalink
Lift rework (#9)
Browse files Browse the repository at this point in the history
  • Loading branch information
AjaniBilby authored May 24, 2024
1 parent d3fe7c1 commit 73d94b6
Show file tree
Hide file tree
Showing 20 changed files with 742 additions and 413 deletions.
4 changes: 2 additions & 2 deletions source/bnf/syntax.bnf
Original file line number Diff line number Diff line change
Expand Up @@ -92,13 +92,13 @@ function ::= func_head %w* ( block | ";" ) %w* ;
func_arg ::= ...name %( w* ":" w* ) access ;

block ::= %( "{" w* ) block_stmt* %( w* "}" w* ) ;
block_stmt ::= assign | declare | return | raise | statement ;
block_stmt ::= assign | declare | return | lift | statement ;

func_call ::= access func_call_body;
func_call_body ::= %( w* "(" w* ) ( expr %w* ( %( "," w* ) expr %w* )* )? %( ")" w* ) ;

return ::= %"return" "_tail"? ( %w+ expr)? %( w* ";" w* );
raise ::= %"raise" %w+ expr %( ";" w* ); # TODO rename to lift
lift ::= %"lift" %w+ expr %( ";" w* );
# drop ::= %"drop" %w+ expr %( ";" w* );


Expand Down
10 changes: 5 additions & 5 deletions source/bnf/syntax.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -917,7 +917,7 @@ export type Term_Block_stmt = {
count: number,
ref: _Shared.ReferenceRange,
value: [
(Term_Assign | Term_Declare | Term_Return | Term_Raise | Term_Statement)
(Term_Assign | Term_Declare | Term_Return | Term_Lift | Term_Statement)
]
}
export declare function Parse_Block_stmt (i: string, refMapping?: boolean): _Shared.ParseError | {
Expand Down Expand Up @@ -1008,8 +1008,8 @@ export declare function Parse_Return (i: string, refMapping?: boolean): _Shared.
isPartial: boolean
}

export type Term_Raise = {
type: 'raise',
export type Term_Lift = {
type: 'lift',
start: number,
end: number,
count: number,
Expand All @@ -1018,8 +1018,8 @@ export type Term_Raise = {
Term_Expr
]
}
export declare function Parse_Raise (i: string, refMapping?: boolean): _Shared.ParseError | {
root: _Shared.SyntaxNode & Term_Raise,
export declare function Parse_Lift (i: string, refMapping?: boolean): _Shared.ParseError | {
root: _Shared.SyntaxNode & Term_Lift,
reachBytes: number,
reach: null | _Shared.Reference,
isPartial: boolean
Expand Down
6 changes: 3 additions & 3 deletions source/bnf/syntax.js

Large diffs are not rendered by default.

Loading

0 comments on commit 73d94b6

Please sign in to comment.