本文整理汇总了Scala中org.antlr.v4.runtime.misc.ParseCancellationException类的典型用法代码示例。如果您正苦于以下问题:Scala ParseCancellationException类的具体用法?Scala ParseCancellationException怎么用?Scala ParseCancellationException使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ParseCancellationException类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Scala代码示例。
示例1: SummaryParser
//设置package包名称以及导入依赖的类
package org.argus.jawa.summary.parser
import java.io.StringReader
import org.antlr.v4.runtime.misc.ParseCancellationException
import org.antlr.v4.runtime.{BailErrorStrategy, CharStreams, CommonTokenStream, NoViableAltException}
import org.argus.jawa.summary.rule.SummaryFile
import org.argus.jawa.summary.grammar.{SafsuLexer, SafsuParser}
object SummaryParser {
def apply(source: String): SummaryFile =
parse(source)
@throws[SummaryParserException]
def parse(source: String): SummaryFile = {
val reader = new StringReader(source)
val input = CharStreams.fromReader(reader)
val lexer = new SafsuLexer(input)
val cts = new CommonTokenStream(lexer)
val parser = new SafsuParser(cts)
parser.setErrorHandler(new BailErrorStrategy)
try {
SummaryParserVisitor(parser.summaryFile())
} catch {
case oie: IndexOutOfBoundsException =>
throw SummaryParserException(oie)
case nvae: NoViableAltException =>
throw SummaryParserException(nvae)
case pce: ParseCancellationException =>
throw SummaryParserException(pce.getCause)
}
}
}
case class SummaryParserException(cause: Throwable) extends Exception(cause.getMessage)
开发者ID:arguslab,项目名称:Argus-SAF,代码行数:37,代码来源:SummaryParser.scala
注:本文中的org.antlr.v4.runtime.misc.ParseCancellationException类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论