mirror of
https://github.com/KarolS/millfork.git
synced 2024-12-23 23:30:22 +00:00
Track source position of else if
This commit is contained in:
parent
b1374bb914
commit
bf0da19ab9
@ -382,7 +382,10 @@ abstract class MfParser[T](fileId: String, input: String, currentDirectory: Stri
|
||||
def ifStatement: P[Seq[ExecutableStatement]] = for {
|
||||
condition <- "if" ~ !letterOrDigit ~/ HWS ~/ mfExpression(nonStatementLevel, false)
|
||||
thenBranch <- AWS ~/ executableStatements
|
||||
elseBranch <- (AWS ~ "else" ~/ AWS ~/ (ifStatement | executableStatements)).?
|
||||
elseBranch <- (AWS ~ "else" ~/ AWS ~/ ((for{
|
||||
p <- position()
|
||||
s <- ifStatement
|
||||
} yield s.map(_.pos(p))) | executableStatements)).?
|
||||
} yield Seq(IfStatement(condition, thenBranch.toList, elseBranch.getOrElse(Nil).toList))
|
||||
|
||||
def whileStatement: P[Seq[ExecutableStatement]] = for {
|
||||
|
Loading…
Reference in New Issue
Block a user