[fine] Working on parser resilience

This commit is contained in:
John Doty 2024-01-21 09:23:20 -08:00
parent 11cb7199e9
commit 741a729f8d
5 changed files with 129 additions and 1 deletions

View file

@ -0,0 +1,53 @@
fun f1(x: f64,
fun f2(x: f64,, z: f64) {}
fun f3() {}
// @concrete:
// | File
// | FunctionDecl
// | Fun:'"fun"'
// | Identifier:'"f1"'
// | ParamList
// | LeftParen:'"("'
// | Parameter
// | Identifier:'"x"'
// | Colon:'":"'
// | TypeExpression
// | Identifier:'"f64"'
// | Comma:'","'
// | Error:'"Error at 'fun': expect ')' to end a parameter list"'
// | FunctionDecl
// | Fun:'"fun"'
// | Identifier:'"f2"'
// | ParamList
// | LeftParen:'"("'
// | Parameter
// | Identifier:'"x"'
// | Colon:'":"'
// | TypeExpression
// | Identifier:'"f64"'
// | Comma:'","'
// | Error
// | Error:'"Error at ',': expected parameter"'
// | Comma:'","'
// | Parameter
// | Identifier:'"z"'
// | Colon:'":"'
// | TypeExpression
// | Identifier:'"f64"'
// | RightParen:'")"'
// | Block
// | LeftBrace:'"{"'
// | RightBrace:'"}"'
// | FunctionDecl
// | Fun:'"fun"'
// | Identifier:'"f3"'
// | ParamList
// | LeftParen:'"("'
// | RightParen:'")"'
// | Block
// | LeftBrace:'"{"'
// | RightBrace:'"}"'
//