Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- error: failed to run custom build command for `breeze-lang v0.1.0 (file:///home/maik/projects/breeze-lang/breeze-lang)`
- process didn't exit successfully: `/home/maik/projects/breeze-lang/target/release/build/breeze-lang-22951a075244bf30/build-script-build` (exit code: 1)
- --- stdout
- processing file `/home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop`
- ok
- ok
- ok
- ok
- ok
- ok
- ok
- ok
- ok
- ok
- ok
- ok
- ok
- ok
- ok
- ok
- ok
- ok
- ok
- ok
- ok
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:60:5: 60:12: Conflict detected
- when in this state:
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- __Addition = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"#"` we can reduce to a `Expr` but we can also reduce to a `__Addition`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:60:5: 60:12: Conflict detected
- when in this state:
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- __Addition = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"("` we can reduce to a `Expr` but we can also reduce to a `__Addition`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:60:5: 60:12: Conflict detected
- when in this state:
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- __Addition = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `")"` we can reduce to a `Expr` but we can also reduce to a `__Addition`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:60:5: 60:12: Conflict detected
- when in this state:
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- __Addition = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"*"` we can reduce to a `Expr` but we can also reduce to a `__Addition`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:60:5: 60:12: Conflict detected
- when in this state:
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- __Addition = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"+"` we can reduce to a `Expr` but we can also reduce to a `__Addition`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:60:5: 60:12: Conflict detected
- when in this state:
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- __Addition = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `","` we can reduce to a `Expr` but we can also reduce to a `__Addition`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:60:5: 60:12: Conflict detected
- when in this state:
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- __Addition = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"->"` we can reduce to a `Expr` but we can also reduce to a `__Addition`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:60:5: 60:12: Conflict detected
- when in this state:
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- __Addition = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `":"` we can reduce to a `Expr` but we can also reduce to a `__Addition`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:60:5: 60:12: Conflict detected
- when in this state:
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- __Addition = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `";"` we can reduce to a `Expr` but we can also reduce to a `__Addition`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:60:5: 60:12: Conflict detected
- when in this state:
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- __Addition = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"="` we can reduce to a `Expr` but we can also reduce to a `__Addition`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:60:5: 60:12: Conflict detected
- when in this state:
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- __Addition = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"["` we can reduce to a `Expr` but we can also reduce to a `__Addition`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:60:5: 60:12: Conflict detected
- when in this state:
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- __Addition = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"]"` we can reduce to a `Expr` but we can also reduce to a `__Addition`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:60:5: 60:12: Conflict detected
- when in this state:
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- __Addition = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"entry"` we can reduce to a `Expr` but we can also reduce to a `__Addition`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:60:5: 60:12: Conflict detected
- when in this state:
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- __Addition = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"fn"` we can reduce to a `Expr` but we can also reduce to a `__Addition`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:60:5: 60:12: Conflict detected
- when in this state:
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- __Addition = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"let"` we can reduce to a `Expr` but we can also reduce to a `__Addition`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:60:5: 60:12: Conflict detected
- when in this state:
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- __Addition = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"struct"` we can reduce to a `Expr` but we can also reduce to a `__Addition`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:60:5: 60:12: Conflict detected
- when in this state:
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- __Addition = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"{"` we can reduce to a `Expr` but we can also reduce to a `__Addition`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:60:5: 60:12: Conflict detected
- when in this state:
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- __Addition = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"}"` we can reduce to a `Expr` but we can also reduce to a `__Addition`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:60:5: 60:12: Conflict detected
- when in this state:
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- __Addition = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `r#"\""#` we can reduce to a `Expr` but we can also reduce to a `__Addition`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:60:5: 60:12: Conflict detected
- when in this state:
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- __Addition = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `Ident` we can reduce to a `Expr` but we can also reduce to a `__Addition`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:60:5: 60:12: Conflict detected
- when in this state:
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- __Addition = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `Num` we can reduce to a `Expr` but we can also reduce to a `__Addition`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:60:5: 60:12: Conflict detected
- when in this state:
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- __Addition = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `EOF` we can reduce to a `Expr` but we can also reduce to a `__Addition`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Local ambiguity detected
- The problem arises after having observed the following symbols in the input:
- Expr "+" Expr
- At that point, if the next token is a `"+"`, then the parser can proceed in two different ways.
- First, the parser could execute the production at /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8, which would consume the top 1 token(s) from the
- stack and produce a `Addition`. This might then yield a parse tree like
- Expr ╷ "+" Addition
- ├─Addition─┤ │
- ├─Expr─────┘ │
- └─Addition──────────────┘
- Alternatively, the parser could shift the `"+"` token and later use it to construct a `Addition`. This might then yield a parse tree like
- Expr "+" Expr "+" Addition
- │ └─Addition──────┤
- └─Addition───────────────┘
- See the LALRPOP manual for advice on making your grammar LR(1).
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:57:5: 57:62: Conflict detected
- when in this state:
- Expr = Name (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = Name (*) "(" Comma<Expr> ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"("` we can reduce to a `Expr` but we can also shift
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:58:29: 58:39: Conflict detected
- when in this state:
- (<Expr> ",")+ = (*) (<Expr> ",")+ Expr "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- (<Expr> ",")+ = (*) Expr "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = (*) Expr ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = (*) Expr "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = (*) "(" Expr ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (*) (<Expr> ",")+ ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (*) (<Expr> ",")+ Expr ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (*) Expr ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Literal ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Name ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Name "(" Comma<Expr> ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = Name "(" (*) Comma<Expr> ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) "(" ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Literal = (*) Number ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Literal = (*) r#"\""# Name r#"\""# ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Name = (*) Ident ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Number = (*) Num ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"("` we can reduce to a `Comma<Expr>` but we can also shift
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:58:29: 58:39: Conflict detected
- when in this state:
- (<Expr> ",")+ = (*) (<Expr> ",")+ Expr "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- (<Expr> ",")+ = (*) Expr "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = (*) Expr ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = (*) Expr "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = (*) "(" Expr ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (*) (<Expr> ",")+ ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (*) (<Expr> ",")+ Expr ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (*) Expr ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Literal ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Name ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Name "(" Comma<Expr> ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = Name "(" (*) Comma<Expr> ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) "(" ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Literal = (*) Number ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Literal = (*) r#"\""# Name r#"\""# ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Name = (*) Ident ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Number = (*) Num ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `r#"\""#` we can reduce to a `Comma<Expr>` but we can also shift
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:58:29: 58:39: Conflict detected
- when in this state:
- (<Expr> ",")+ = (*) (<Expr> ",")+ Expr "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- (<Expr> ",")+ = (*) Expr "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = (*) Expr ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = (*) Expr "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = (*) "(" Expr ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (*) (<Expr> ",")+ ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (*) (<Expr> ",")+ Expr ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (*) Expr ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Literal ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Name ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Name "(" Comma<Expr> ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = Name "(" (*) Comma<Expr> ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) "(" ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Literal = (*) Number ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Literal = (*) r#"\""# Name r#"\""# ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Name = (*) Ident ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Number = (*) Num ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `Ident` we can reduce to a `Comma<Expr>` but we can also shift
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:58:29: 58:39: Conflict detected
- when in this state:
- (<Expr> ",")+ = (*) (<Expr> ",")+ Expr "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- (<Expr> ",")+ = (*) Expr "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = (*) Expr ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = (*) Expr "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = (*) "(" Expr ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (*) (<Expr> ",")+ ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (*) (<Expr> ",")+ Expr ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (*) Expr ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Literal ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Name ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Name "(" Comma<Expr> ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = Name "(" (*) Comma<Expr> ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) "(" ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Literal = (*) Number ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Literal = (*) r#"\""# Name r#"\""# ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Name = (*) Ident ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Number = (*) Num ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `Num` we can reduce to a `Comma<Expr>` but we can also shift
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Local ambiguity detected
- The problem arises after having observed the following symbols in the input:
- (<Expr> ",")+ "(" Expr
- At that point, if the next token is a `")"`, then the parser can proceed in two different ways.
- First, the parser could execute the production at /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8, which would consume the top 1 token(s) from the
- stack and produce a `Addition`. This might then yield a parse tree like
- "(" Expr ╷ ")"
- │ ├─Addition─┤ │
- │ └─Expr─────┘ │
- └─Addition─────────┘
- Alternatively, the parser could shift the `")"` token and later use it to construct a `Addition`. This might then yield a parse tree like
- (<Expr> ",")+ "(" Expr ")"
- │ ├─Addition─┤
- │ └─Expr─────┤
- └─Comma<Expr>────────────┘
- See the LALRPOP manual for advice on making your grammar LR(1).
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Local ambiguity detected
- The problem arises after having observed the following symbols in the input:
- "(" Expr
- At that point, if the next token is a `"+"`, then the parser can proceed in two different ways.
- First, the parser could execute the production at /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8, which would consume the top 1 token(s) from the
- stack and produce a `Addition`. This might then yield a parse tree like
- Expr ╷ "+" Addition
- ├─Addition─┤ │
- ├─Expr─────┘ │
- └─Addition──────────────┘
- Alternatively, the parser could shift the `"+"` token and later use it to construct a `Addition`. This might then yield a parse tree like
- "(" Expr "+" Addition ")"
- │ ├─Addition──────┤ │
- │ └─Expr──────────┘ │
- └─Addition──────────────┘
- See the LALRPOP manual for advice on making your grammar LR(1).
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:64:5: 64:65: Conflict detected
- when in this state:
- Addition = Expr "+" Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"#"` we can reduce to a `Addition` but we can also reduce to a `Expr`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:64:5: 64:65: Conflict detected
- when in this state:
- Addition = Expr "+" Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"("` we can reduce to a `Addition` but we can also reduce to a `Expr`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:64:5: 64:65: Local ambiguity detected
- The problem arises after having observed the following symbols in the input:
- "(" Expr "+" Addition
- At that point, if the next token is a `")"`, then the parser can proceed in two different ways.
- First, the parser could execute the production at /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:64:5: 64:65, which would consume the top 3 token(s) from
- the stack and produce a `Addition`. This might then yield a parse tree like
- "(" Expr "+" Addition ")"
- │ ├─Addition──────┤ │
- │ └─Expr──────────┘ │
- └─Addition──────────────┘
- Alternatively, the parser could execute the production at /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:60:5: 60:12, which would consume the top 1 token(s)
- from the stack and produce a `Expr`. This might then yield a parse tree like
- "(" Addition ")"
- │ └─Expr─┘ │
- └─Addition─────┘
- See the LALRPOP manual for advice on making your grammar LR(1).
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:64:5: 64:65: Conflict detected
- when in this state:
- Addition = Expr "+" Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"*"` we can reduce to a `Addition` but we can also reduce to a `Expr`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:64:5: 64:65: Local ambiguity detected
- The problem arises after having observed the following symbols in the input:
- Expr "+" Addition
- At that point, if the next token is a `"+"`, then the parser can proceed in two different ways.
- First, the parser could execute the production at /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:64:5: 64:65, which would consume the top 3 token(s) from
- the stack and produce a `Addition`. This might then yield a parse tree like
- Expr "+" Addition "+" Addition
- ├─Addition──────┤ │
- ├─Expr──────────┘ │
- └─Addition───────────────────┘
- Alternatively, the parser could execute the production at /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:60:5: 60:12, which would consume the top 1 token(s)
- from the stack and produce a `Expr`. This might then yield a parse tree like
- Addition "+" Addition
- ├─Expr─┘ │
- └─Addition──────────┘
- See the LALRPOP manual for advice on making your grammar LR(1).
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:64:5: 64:65: Local ambiguity detected
- The problem arises after having observed the following symbols in the input:
- Expr "+" Addition
- At that point, if the next token is a `","`, then the parser can proceed in two different ways.
- First, the parser could execute the production at /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:64:5: 64:65, which would consume the top 3 token(s) from
- the stack and produce a `Addition`. This might then yield a parse tree like
- Expr "+" Addition ","
- ├─Addition──────┤ │
- ├─Expr──────────┘ │
- └─(<Expr> ",")+─────┘
- Alternatively, the parser could execute the production at /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:60:5: 60:12, which would consume the top 1 token(s)
- from the stack and produce a `Expr`. This might then yield a parse tree like
- Addition ╷ ","
- ├─Expr──────┘ │
- └─(<Expr> ",")+─┘
- See the LALRPOP manual for advice on making your grammar LR(1).
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:64:5: 64:65: Conflict detected
- when in this state:
- Addition = Expr "+" Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"->"` we can reduce to a `Addition` but we can also reduce to a `Expr`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:64:5: 64:65: Conflict detected
- when in this state:
- Addition = Expr "+" Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `":"` we can reduce to a `Addition` but we can also reduce to a `Expr`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:64:5: 64:65: Conflict detected
- when in this state:
- Addition = Expr "+" Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `";"` we can reduce to a `Addition` but we can also reduce to a `Expr`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:64:5: 64:65: Conflict detected
- when in this state:
- Addition = Expr "+" Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"="` we can reduce to a `Addition` but we can also reduce to a `Expr`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:64:5: 64:65: Conflict detected
- when in this state:
- Addition = Expr "+" Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"["` we can reduce to a `Addition` but we can also reduce to a `Expr`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:64:5: 64:65: Conflict detected
- when in this state:
- Addition = Expr "+" Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"]"` we can reduce to a `Addition` but we can also reduce to a `Expr`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:64:5: 64:65: Conflict detected
- when in this state:
- Addition = Expr "+" Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"entry"` we can reduce to a `Addition` but we can also reduce to a `Expr`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:64:5: 64:65: Conflict detected
- when in this state:
- Addition = Expr "+" Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"fn"` we can reduce to a `Addition` but we can also reduce to a `Expr`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:64:5: 64:65: Conflict detected
- when in this state:
- Addition = Expr "+" Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"let"` we can reduce to a `Addition` but we can also reduce to a `Expr`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:64:5: 64:65: Conflict detected
- when in this state:
- Addition = Expr "+" Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"struct"` we can reduce to a `Addition` but we can also reduce to a `Expr`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:64:5: 64:65: Conflict detected
- when in this state:
- Addition = Expr "+" Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"{"` we can reduce to a `Addition` but we can also reduce to a `Expr`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:64:5: 64:65: Conflict detected
- when in this state:
- Addition = Expr "+" Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"}"` we can reduce to a `Addition` but we can also reduce to a `Expr`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:64:5: 64:65: Conflict detected
- when in this state:
- Addition = Expr "+" Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `r#"\""#` we can reduce to a `Addition` but we can also reduce to a `Expr`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:64:5: 64:65: Conflict detected
- when in this state:
- Addition = Expr "+" Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `Ident` we can reduce to a `Addition` but we can also reduce to a `Expr`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:64:5: 64:65: Conflict detected
- when in this state:
- Addition = Expr "+" Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `Num` we can reduce to a `Addition` but we can also reduce to a `Expr`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:64:5: 64:65: Conflict detected
- when in this state:
- Addition = Expr "+" Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = Addition (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `EOF` we can reduce to a `Addition` but we can also reduce to a `Expr`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:58:29: 58:39: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ (*) Expr "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = (*) Expr ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = (*) Expr "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = (*) "(" Expr ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ (*) Expr ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Literal ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Name ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Name "(" Comma<Expr> ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) "(" ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Literal = (*) Number ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Literal = (*) r#"\""# Name r#"\""# ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Name = (*) Ident ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Number = (*) Num ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"("` we can reduce to a `Comma<Expr>` but we can also shift
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:58:29: 58:39: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ (*) Expr "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = (*) Expr ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = (*) Expr "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = (*) "(" Expr ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ (*) Expr ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Literal ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Name ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Name "(" Comma<Expr> ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) "(" ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Literal = (*) Number ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Literal = (*) r#"\""# Name r#"\""# ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Name = (*) Ident ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Number = (*) Num ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `r#"\""#` we can reduce to a `Comma<Expr>` but we can also shift
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:58:29: 58:39: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ (*) Expr "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = (*) Expr ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = (*) Expr "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = (*) "(" Expr ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ (*) Expr ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Literal ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Name ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Name "(" Comma<Expr> ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) "(" ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Literal = (*) Number ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Literal = (*) r#"\""# Name r#"\""# ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Name = (*) Ident ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Number = (*) Num ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `Ident` we can reduce to a `Comma<Expr>` but we can also shift
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:58:29: 58:39: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ (*) Expr "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = (*) Expr ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = (*) Expr "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = (*) "(" Expr ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ (*) Expr ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Literal ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Name ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) Name "(" Comma<Expr> ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Expr = (*) "(" ")" ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Literal = (*) Number ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Literal = (*) r#"\""# Name r#"\""# ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Name = (*) Ident ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Number = (*) Num ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `Num` we can reduce to a `Comma<Expr>` but we can also shift
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Local ambiguity detected
- The problem arises after having observed the following symbols in the input:
- Name "(" Expr
- At that point, if the next token is a `"+"`, then the parser can proceed in two different ways.
- First, the parser could execute the production at /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8, which would consume the top 1 token(s) from the
- stack and produce a `Addition`. This might then yield a parse tree like
- Expr ╷ "+" Addition
- ├─Addition─┤ │
- ├─Expr─────┘ │
- └─Addition──────────────┘
- Alternatively, the parser could shift the `"+"` token and later use it to construct a `Addition`. This might then yield a parse tree like
- Name "(" Expr "+" Addition ")"
- │ ├─Addition──────┤ │
- │ ├─Expr──────────┤ │
- │ └─Comma<Expr>───┘ │
- └─Expr───────────────────────┘
- See the LALRPOP manual for advice on making your grammar LR(1).
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:58:29: 58:39: Conflict detected
- when in this state:
- (<Expr> ",")+ = Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"+"` we can reduce to a `Comma<Expr>` but we can also shift
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Local ambiguity detected
- The problem arises after having observed the following symbols in the input:
- Name "(" Expr
- At that point, if the next token is a `","`, then the parser can proceed in two different ways.
- First, the parser could execute the production at /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8, which would consume the top 1 token(s) from the
- stack and produce a `Addition`. This might then yield a parse tree like
- Expr ╷ ","
- ├─Addition──┤ │
- ├─Expr──────┘ │
- └─(<Expr> ",")+─┘
- Alternatively, the parser could shift the `","` token and later use it to construct a `(<Expr> ",")+`. This might then yield a parse tree like
- Name "(" Expr "," ")"
- │ ├─(<Expr> ",")+─┤ │
- │ └─Comma<Expr>───┘ │
- └─Expr───────────────────────┘
- See the LALRPOP manual for advice on making your grammar LR(1).
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:58:29: 58:39: Conflict detected
- when in this state:
- (<Expr> ",")+ = Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `","` we can reduce to a `Comma<Expr>` but we can also shift
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"#"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"("` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Ambiguous grammar detected
- The following symbols can be reduced in two ways:
- Name "(" Expr ")"
- They could be reduced like so:
- Name "(" Expr ╷ ")"
- │ ├─Addition────┤ │
- │ ├─Expr────────┤ │
- │ └─Comma<Expr>─┘ │
- └─Expr─────────────────────┘
- Alternatively, they could be reduced like so:
- Name "(" Expr ╷ ")"
- │ └─Comma<Expr>─┘ │
- └─Expr─────────────────────┘
- LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your grammar unambiguous.
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"*"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"+"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `","` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"->"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `":"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `";"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"="` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"["` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"]"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"entry"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"fn"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"let"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"struct"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"{"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"}"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `r#"\""#` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `Ident` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `Num` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `EOF` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Local ambiguity detected
- The problem arises after having observed the following symbols in the input:
- (<Expr> ",")+ Expr
- At that point, if the next token is a `"+"`, then the parser can proceed in two different ways.
- First, the parser could execute the production at /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8, which would consume the top 1 token(s) from the
- stack and produce a `Addition`. This might then yield a parse tree like
- Expr ╷ "+" Addition
- ├─Addition─┤ │
- ├─Expr─────┘ │
- └─Addition──────────────┘
- Alternatively, the parser could shift the `"+"` token and later use it to construct a `Addition`. This might then yield a parse tree like
- (<Expr> ",")+ Expr "+" Addition
- │ ├─Addition──────┤
- │ └─Expr──────────┤
- └─Comma<Expr>─────────────────┘
- See the LALRPOP manual for advice on making your grammar LR(1).
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:58:29: 58:39: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"+"` we can reduce to a `Comma<Expr>` but we can also shift
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Local ambiguity detected
- The problem arises after having observed the following symbols in the input:
- Name "(" (<Expr> ",")+ Expr
- At that point, if the next token is a `","`, then the parser can proceed in two different ways.
- First, the parser could execute the production at /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8, which would consume the top 1 token(s) from the
- stack and produce a `Addition`. This might then yield a parse tree like
- (<Expr> ",")+ Expr ╷ ","
- │ ├─Addition─┤ │
- │ └─Expr─────┘ │
- └─(<Expr> ",")+──────────────┘
- Alternatively, the parser could shift the `","` token and later use it to construct a `(<Expr> ",")+`. This might then yield a parse tree like
- Name "(" (<Expr> ",")+ Expr "," ")"
- │ ├─(<Expr> ",")+──────┤ │
- │ └─Comma<Expr>────────┘ │
- └─Expr────────────────────────────┘
- See the LALRPOP manual for advice on making your grammar LR(1).
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:58:29: 58:39: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `","` we can reduce to a `Comma<Expr>` but we can also shift
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"#"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"("` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Ambiguous grammar detected
- The following symbols can be reduced in two ways:
- Name "(" (<Expr> ",")+ Expr ")"
- They could be reduced like so:
- Name "(" (<Expr> ",")+ Expr ╷ ")"
- │ │ ├─Addition─┤ │
- │ │ └─Expr─────┤ │
- │ └─Comma<Expr>────────────┘ │
- └─Expr────────────────────────────────┘
- Alternatively, they could be reduced like so:
- Name "(" (<Expr> ",")+ Expr ")"
- │ └─Comma<Expr>────┘ │
- └─Expr────────────────────────┘
- LALRPOP does not yet support ambiguous grammars. See the LALRPOP manual for advice on making your grammar unambiguous.
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"*"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"+"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `","` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"->"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `":"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `";"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"="` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"["` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"]"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"entry"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"fn"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"let"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"struct"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"{"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `"}"` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `r#"\""#` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `Ident` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `Num` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- /home/maik/projects/breeze-lang/breeze-lang/src/breeze.lalrpop:66:5: 66:8: Conflict detected
- when in this state:
- (<Expr> ",")+ = (<Expr> ",")+ Expr (*) "," ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Addition = Expr (*) "+" Addition ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- Comma<Expr> = (<Expr> ",")+ Expr (*) ["#", "(", ")", "*", "+", ",", "->", ":", ";", "=", "[", "]", "entry", "fn", "let", "struct", "{", "}", r#"\""#, Ident, Num, EOF]
- and looking at a token `EOF` we can reduce to a `Addition` but we can also reduce to a `Comma<Expr>`
- ^
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement