aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAdam Izraelevitz2016-04-19 09:56:27 -0700
committerjackkoenig2016-04-26 12:10:17 -0700
commit797110f5f9d96590016d74de0611021c13f31bec (patch)
treee755529ef9f2351cc3d48c7cbfbbbd8f3f0469d6 /src
parent7f81b4e89f15d8722e4907eb92c304c6ee438592 (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.scala4
-rw-r--r--src/main/scala/firrtl/Visitor.scala6
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))