(defproject polyglot "0.1.0-SNAPSHOT" :description "FIXME: write description" :url "http://example.com/FIXME" :license {:name "Eclipse Public License" :url "http://www.eclipse.org/legal/epl-v10.html"} :plugins [[lein-antlr4 "0.1.0-SNAPSHOT"] [lein-scalac "0.1.0"]] :dependencies [[org.clojure/clojure "1.5.1"] [org.antlr/antlr4 "4.0"] [org.scala-lang/scala-library "2.10.1"]] :warn-on-reflection true :antlr4-source-paths ["antlr4"] :antlr4-options {:package "parser" :listener true} :antlr4-compile-path "target/antlr4/parser" :java-source-paths ["target/antlr4/parser" "src/java"] :scala-source-path "src/scala" :prep-tasks ["antlr4" "javac" "scalac" "compile"])
要使用ANTLR4插件,请下载并“安装”lein-antlr4插件。如果您不需要它,只需从项目定义中删除相关行。
要使用Scala插件,我需要下载它并进行更改。
[org.scala-lang/scala-compiler "2.9.1"]
to
[org.scala-lang/scala-compiler "2.10.1"]
java.lang.Error: typeConstructor inapplicable for <none>
来自Scala编译器。
Dynamic
特性是为了方便与动态类型语言集成而创建的,但是您需要编写自己的转发器。此外,由于Scala 2.10已经有所改变,因此您还需要使用Scala 2.10进行重写。也许实际上,您应该使用Scala 2.10(里程碑2可用)。Scala 2.10 CAT支持也可以帮助您在Scala端进行集成。