Add basic edition inline parser test support

This commit is contained in:
Lukas Wirth 2024-07-18 10:26:58 +02:00
parent 7a5bf92b89
commit 713c47f25b
8 changed files with 185 additions and 172 deletions

View file

@ -1,139 +0,0 @@
SOURCE_FILE
FN
VISIBILITY
PUB_KW "pub"
WHITESPACE " "
FN_KW "fn"
WHITESPACE " "
NAME
IDENT "main"
PARAM_LIST
L_PAREN "("
R_PAREN ")"
WHITESPACE " "
BLOCK_EXPR
STMT_LIST
L_CURLY "{"
WHITESPACE "\n "
EXPR_STMT
RECORD_EXPR
PATH
PATH_SEGMENT
NAME_REF
IDENT "gen"
WHITESPACE " "
RECORD_EXPR_FIELD_LIST
L_CURLY "{"
WHITESPACE " "
ERROR
YIELD_KW "yield"
WHITESPACE " "
ERROR
STRING "\"\""
ERROR
SEMICOLON ";"
WHITESPACE " "
R_CURLY "}"
SEMICOLON ";"
WHITESPACE "\n "
ERROR
ASYNC_KW "async"
WHITESPACE " "
EXPR_STMT
RECORD_EXPR
PATH
PATH_SEGMENT
NAME_REF
IDENT "gen"
WHITESPACE " "
RECORD_EXPR_FIELD_LIST
L_CURLY "{"
WHITESPACE " "
ERROR
YIELD_KW "yield"
WHITESPACE " "
ERROR
STRING "\"\""
ERROR
SEMICOLON ";"
WHITESPACE " "
R_CURLY "}"
SEMICOLON ";"
WHITESPACE "\n "
EXPR_STMT
PATH_EXPR
PATH
PATH_SEGMENT
NAME_REF
IDENT "gen"
WHITESPACE " "
EXPR_STMT
CLOSURE_EXPR
MOVE_KW "move"
WHITESPACE " "
EXPR_STMT
BLOCK_EXPR
STMT_LIST
L_CURLY "{"
WHITESPACE " "
EXPR_STMT
YIELD_EXPR
YIELD_KW "yield"
WHITESPACE " "
LITERAL
STRING "\"\""
SEMICOLON ";"
WHITESPACE " "
R_CURLY "}"
SEMICOLON ";"
WHITESPACE "\n "
ERROR
ASYNC_KW "async"
WHITESPACE " "
EXPR_STMT
PATH_EXPR
PATH
PATH_SEGMENT
NAME_REF
IDENT "gen"
WHITESPACE " "
EXPR_STMT
CLOSURE_EXPR
MOVE_KW "move"
WHITESPACE " "
EXPR_STMT
BLOCK_EXPR
STMT_LIST
L_CURLY "{"
WHITESPACE " "
EXPR_STMT
YIELD_EXPR
YIELD_KW "yield"
WHITESPACE " "
LITERAL
STRING "\"\""
SEMICOLON ";"
WHITESPACE " "
R_CURLY "}"
SEMICOLON ";"
WHITESPACE "\n"
R_CURLY "}"
WHITESPACE "\n"
error 26: expected identifier
error 31: expected COMMA
error 32: expected identifier
error 34: expected COMMA
error 34: expected identifier
error 48: expected fn, trait or impl
error 55: expected identifier
error 60: expected COMMA
error 61: expected identifier
error 63: expected COMMA
error 63: expected identifier
error 75: expected SEMICOLON
error 80: expected `|`
error 80: expected SEMICOLON
error 105: expected fn, trait or impl
error 109: expected SEMICOLON
error 114: expected `|`
error 114: expected SEMICOLON

View file

@ -0,0 +1,101 @@
SOURCE_FILE
FN
COMMENT "// 2024"
WHITESPACE "\n"
VISIBILITY
PUB_KW "pub"
WHITESPACE " "
FN_KW "fn"
WHITESPACE " "
NAME
IDENT "main"
PARAM_LIST
L_PAREN "("
R_PAREN ")"
WHITESPACE " "
BLOCK_EXPR
STMT_LIST
L_CURLY "{"
WHITESPACE "\n "
EXPR_STMT
BLOCK_EXPR
GEN_KW "gen"
WHITESPACE " "
STMT_LIST
L_CURLY "{"
WHITESPACE " "
EXPR_STMT
YIELD_EXPR
YIELD_KW "yield"
WHITESPACE " "
LITERAL
STRING "\"\""
SEMICOLON ";"
WHITESPACE " "
R_CURLY "}"
SEMICOLON ";"
WHITESPACE "\n "
EXPR_STMT
BLOCK_EXPR
ASYNC_KW "async"
WHITESPACE " "
GEN_KW "gen"
WHITESPACE " "
STMT_LIST
L_CURLY "{"
WHITESPACE " "
EXPR_STMT
YIELD_EXPR
YIELD_KW "yield"
WHITESPACE " "
LITERAL
STRING "\"\""
SEMICOLON ";"
WHITESPACE " "
R_CURLY "}"
SEMICOLON ";"
WHITESPACE "\n "
EXPR_STMT
BLOCK_EXPR
GEN_KW "gen"
WHITESPACE " "
MOVE_KW "move"
WHITESPACE " "
STMT_LIST
L_CURLY "{"
WHITESPACE " "
EXPR_STMT
YIELD_EXPR
YIELD_KW "yield"
WHITESPACE " "
LITERAL
STRING "\"\""
SEMICOLON ";"
WHITESPACE " "
R_CURLY "}"
SEMICOLON ";"
WHITESPACE "\n "
EXPR_STMT
BLOCK_EXPR
ASYNC_KW "async"
WHITESPACE " "
GEN_KW "gen"
WHITESPACE " "
MOVE_KW "move"
WHITESPACE " "
STMT_LIST
L_CURLY "{"
WHITESPACE " "
EXPR_STMT
YIELD_EXPR
YIELD_KW "yield"
WHITESPACE " "
LITERAL
STRING "\"\""
SEMICOLON ";"
WHITESPACE " "
R_CURLY "}"
SEMICOLON ";"
WHITESPACE "\n"
R_CURLY "}"
WHITESPACE "\n"

View file

@ -1,3 +1,4 @@
// 2024
pub fn main() {
gen { yield ""; };
async gen { yield ""; };