commonMain.org.antlr.v4.kotlinruntime.NoViableAltException.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of antlr-kotlin-runtime-jvm Show documentation
Show all versions of antlr-kotlin-runtime-jvm Show documentation
Kotlin multiplatform port of ANTLR
/*
* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
* Use of this file is governed by the BSD 3-clause license that
* can be found in the LICENSE.txt file in the project root.
*/
package org.antlr.v4.kotlinruntime
import org.antlr.v4.kotlinruntime.atn.ATNConfigSet
/** Indicates that the parser could not decide which of two or more paths
* to take based upon the remaining input. It tracks the starting token
* of the offending input and also knows where the parser was
* in the various paths when the error. Reported by reportNoViableAlternative()
*/
class NoViableAltException constructor(recognizer: Parser,
input: TokenStream? = recognizer.readInputStream() as TokenStream?,
/** The token object at the start index; the input stream might
* not be buffering tokens so get a reference to it. (At the
* time the error occurred, of course the stream needs to keep a
* buffer all of the tokens but later we might not have access to those.)
*/
val startToken: Token? = recognizer.currentToken,
offendingToken: Token? = recognizer.currentToken,
/** Which configurations did we try at input.index() that couldn't match input.LT(1)? */
val deadEndConfigs: ATNConfigSet? = null,
ctx: ParserRuleContext? = recognizer.context) : RecognitionException(recognizer, input!!, ctx!!) {
init {
this.offendingToken = offendingToken
}
}// LL(1) error