这是我的第一个scala文件,名为Node.scala
class Node extends NodeType
{
object Node {
val E = new Node(NodeType.E)
}
这是我的NodeType.scala
class NodeType extends Enumeration {
val PROGRAM = new NodeType()
val DECLARATIONS = new NodeType()
val DECLARATION = new NodeType()
val TYPE = new NodeType()
val STATEMENTSEQUENCE = new NodeType()
val STATEMENT = new NodeType()
val ASSIGNMENT = new NodeType()
val IFSTATEMENT = new NodeType()
val WHILESTATEMENT = new NodeType()
val WRITEINT = new NodeType()
val ELSECLAUSE = new NodeType()
val EXPRESSION = new NodeType()
val SIMPLEEXPRESSION = new NodeType()
val TERM = new NodeType()
val FACTOR = new NodeType()
val E = new NodeType()
class NodeType extends Val
implicit def convertValue(v: Value): NodeType = v.asInstanceOf[NodeType]
}
我在NodeType上遇到错误,当光标突出显示时,它提示找不到类型NodeType
val E = new Node(NodeType.E)
这试图访问一个名为NodeType的伴随对象并获取其字段E。
您定义为NodeType的不是伴随对象,而是一个类。将伴随对象想像成Java术语中类的静态部分。您正在尝试访问NodeType的“静态”部分,该部分不存在,因为尚未定义NodeType的伴随对象。
此外,为什么要尝试构造带有参数的新Node?您的节点类采用0个参数。
也许您可以尝试向我们解释您要建模的内容。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句