diff options
| author | Adam Izraelevitz | 2016-04-19 09:56:27 -0700 |
|---|---|---|
| committer | jackkoenig | 2016-04-26 12:10:17 -0700 |
| commit | 797110f5f9d96590016d74de0611021c13f31bec (patch) | |
| tree | e755529ef9f2351cc3d48c7cbfbbbd8f3f0469d6 /src | |
| parent | 7f81b4e89f15d8722e4907eb92c304c6ee438592 (diff) | |
Added flag to parser to turn off using source locators. This allows for easier testing, because we don't the source locator information to say a test fails
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/scala/firrtl/Parser.scala | 4 | ||||
| -rw-r--r-- | src/main/scala/firrtl/Visitor.scala | 6 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/main/scala/firrtl/Parser.scala b/src/main/scala/firrtl/Parser.scala index b7a74e84..9a20963b 100644 --- a/src/main/scala/firrtl/Parser.scala +++ b/src/main/scala/firrtl/Parser.scala @@ -48,7 +48,7 @@ object Parser extends LazyLogging * * Parser performs conversion to machine firrtl */ - def parse(filename: String, lines: Iterator[String]): Circuit = { + def parse(filename: String, lines: Iterator[String], useInfo: Boolean = true): Circuit = { val fixedInput = Translator.addBrackets(lines) //logger.debug("Preprocessed Input:\n" + fixedInput.result) val antlrStream = new ANTLRInputStream(fixedInput.result) @@ -65,7 +65,7 @@ object Parser extends LazyLogging val numSyntaxErrors = parser.getNumberOfSyntaxErrors if (numSyntaxErrors > 0) throw new ParserException(s"${numSyntaxErrors} syntax error(s) detected") - val visitor = new Visitor(filename) + val visitor = new Visitor(filename, useInfo) //val ast = visitor.visitCircuit(cst) match { val ast = visitor.visit(cst) match { case c: Circuit => c diff --git a/src/main/scala/firrtl/Visitor.scala b/src/main/scala/firrtl/Visitor.scala index 061cbedd..1c47508d 100644 --- a/src/main/scala/firrtl/Visitor.scala +++ b/src/main/scala/firrtl/Visitor.scala @@ -43,7 +43,7 @@ import PrimOps._ import FIRRTLParser._ import scala.annotation.tailrec -class Visitor(val fullFilename: String) extends FIRRTLBaseVisitor[AST] +class Visitor(val fullFilename: String, val useInfo : Boolean) extends FIRRTLBaseVisitor[AST] { // Strip file path private val filename = fullFilename.drop(fullFilename.lastIndexOf("/")+1) @@ -78,7 +78,9 @@ class Visitor(val fullFilename: String) extends FIRRTLBaseVisitor[AST] } private def string2Int(s: String): Int = string2BigInt(s).toInt private def getInfo(ctx: ParserRuleContext): Info = - FileInfo(filename, ctx.getStart().getLine(), ctx.getStart().getCharPositionInLine()) + if (useInfo) { + FileInfo(filename, ctx.getStart().getLine(), ctx.getStart().getCharPositionInLine()) + } else NoInfo private def visitCircuit[AST](ctx: FIRRTLParser.CircuitContext): Circuit = Circuit(getInfo(ctx), ctx.module.map(visitModule), (ctx.id.getText)) |
