sirthias / parboiled2

A macro-based PEG parser generator for Scala 2.10+
Other
717 stars 86 forks source link

Calculator example does not compile #86

Closed PhilAndrew closed 10 years ago

PhilAndrew commented 10 years ago

Hi there. Followed your instructions on your website.

  1. Added parboiled to my project. import sbt. import sbt.Keys.

object ShapelanguageBuild extends Build {

lazy val snap = "Sonatype snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/"

lazy val parboiledDep = "org.parboiled" %% "parboiled" % "2.0.1-SNAPSHOT"

lazy val shapelanguage = Project( id = "shapelanguage", base = file("."), settings = Project.defaultSettings ++ Seq( name := "ShapeLanguage", organization := "org.example", version := "0.1-SNAPSHOT", scalaVersion := "2.11.1", libraryDependencies ++= Seq(parboiledDep), resolvers ++= Seq(snap) // add other settings here ) ) }

  1. Pasted your calculator.
  2. Errors. Sad

Here are the compile errors:

home@home-Vostro-220s-Series:/media/home/projects/shape_language$ sbt compile [info] Loading project definition from /media/home/projects/shape_language/project [info] Set current project to ShapeLanguage (in build file:/media/home/projects/shape_language/) [info] Compiling 3 Scala sources to /media/home/projects/shape_language/target/scala-2.11/classes... [error] /media/home/projects/shape_language/src/main/scala/com/shape/language/Calculator.scala:6: not found: value rule [error] def InputLine = rule { Expression ~ EOI } [error] ^ [error] /media/home/projects/shape_language/src/main/scala/com/shape/language/Calculator.scala:6: type mismatch; [error] found : Char [error] required: org.parboiled2.Rule[?,?] [error] def InputLine = rule { Expression ~ EOI } [error] ^ [error] /media/home/projects/shape_language/src/main/scala/com/shape/language/Calculator.scala:8: not found: value rule [error] def Expression: Rule1[Int] = rule { [error] ^ [error] /media/home/projects/shape_language/src/main/scala/com/shape/language/Calculator.scala:14: not found: value rule [error] def Term = rule { [error] ^ [error] /media/home/projects/shape_language/src/main/scala/com/shape/language/Calculator.scala:20: not found: value rule [error] def Factor = rule { Number | Parens } [error] ^ [error] /media/home/projects/shapelanguage/src/main/scala/com/shape/language/Calculator.scala:24: not found: value rule [error] def Number = rule { capture(Digits) ~> (.toInt) } [error] ^ [error] /media/home/projects/shape_language/src/main/scala/com/shape/language/Calculator.scala:26: not found: value rule [error] def Digits = rule { oneOrMore(CharPredicate.Digit) } [error] ^ [error] /media/home/projects/shape_language/src/main/scala/com/shape/language/Calculator.scala:26: not found: value oneOrMore [error] def Digits = rule { oneOrMore(CharPredicate.Digit) } [error] ^ [error] /media/home/projects/shapelanguage/src/main/scala/com/shape/language/Calculator.scala:24: not found: value capture [error] def Number = rule { capture(Digits) ~> (.toInt) } [error] ^ [error] /media/home/projects/shape_language/src/main/scala/com/shape/language/Calculator.scala:22: not found: value rule [error] def Parens = rule { '(' ~ Expression ~ ')' } [error] ^ [error] /media/home/projects/shape_language/src/main/scala/com/shape/language/Calculator.scala:22: value ~ is not a member of Char [error] def Parens = rule { '(' ~ Expression ~ ')' } [error] ^ [error] 11 errors found error Compilation failed [error] Total time: 4 s, completed Jul 29, 2014 10:24:20 PM home@home-Vostro-220s-Series:/media/home/projects/shape_language$

alexander-myltsev commented 10 years ago

@PhilAndrew thanks for reporting. Could you push project code somewhere so I can take a look at it?

sirthias commented 10 years ago

Closing for now...