Build problems

26 views
Skip to first unread message

Jorge Ortiz

unread,
Aug 17, 2012, 12:01:27 PM8/17/12
to deca-new...@googlegroups.com
Hi,

I've checked out the latest code from the 'newsig' branch on the Google Code repository (changeset 136:785085785328) and I've run into a few issues building it.

a) The build is not hermetic. It relies on environment variables and external files that aren't clearly documented. For example, it's unclear which version of Scala is intended to be used when building decac.

b) The code as-is does not compile because of a missing type "ComparisonExpression" referenced in AST.scala. Maybe a file has not been added to Mercurial?

[error] /Users/jortiz/Code/decac/src/org/deca/compiler/AST.scala:376: not found: type ComparisonExpression
[error]     case greater: AGreaterExp5 => new ComparisonExpression(OrdinalComparison(true,false),processExp4(greater.getExp1,scope),processExp4(greater.getExp2,scope))
[error]                                       ^
[error] /Users/jortiz/Code/decac/src/org/deca/compiler/AST.scala:377: not found: type ComparisonExpression
[error]     case greatereq: AGreatereqExp5 => new ComparisonExpression(OrdinalComparison(true,true),processExp4(greatereq.getExp1,scope),processExp4(greatereq.getExp2,scope))
[error]                                           ^
[error] /Users/jortiz/Code/decac/src/org/deca/compiler/AST.scala:378: not found: type ComparisonExpression
[error]     case lesser: ALessExp5 => new ComparisonExpression(OrdinalComparison(false,false),processExp4(lesser.getExp1,scope),processExp4(lesser.getExp2,scope))
[error]                                   ^
[error] /Users/jortiz/Code/decac/src/org/deca/compiler/AST.scala:379: not found: type ComparisonExpression
[error]     case lessereq: ALessereqExp5 => new ComparisonExpression(OrdinalComparison(false,true),processExp4(lessereq.getExp1,scope),processExp4(lessereq.getExp2,scope))
[error]                                         ^
[error] /Users/jortiz/Code/decac/src/org/deca/compiler/AST.scala:380: not found: type ComparisonExpression
[error]     case equals: AEqualsExp5 => new ComparisonExpression(IdentityComparison(true),processExp4(equals.getExp1,scope),processExp4(equals.getExp2,scope))
[error]                                     ^
[error] /Users/jortiz/Code/decac/src/org/deca/compiler/AST.scala:381: not found: type ComparisonExpression
[error]     case different: ADifferentExp5 => new ComparisonExpression(IdentityComparison(false),processExp4(different.getExp1,scope),processExp4(different.getExp2,scope))
[error]                                           ^


c) Even stubbing out the references to ComparisonExpression, the code fails to compile because of a missing definition in MemberExpression:

[error] /Users/jortiz/Code/decac/src/org/deca/compiler/expression/MemberExpression.scala:11: class MemberExpression needs to be abstract, since method region in trait WritableExpression of type => org.deca.compiler.signature.MonoRegion is not defined
[error] class MemberExpression(val structure: Expression,
[error]       ^
[error] one error found

Also, not really a compile problem but a minor annoyance: it might be worth including an .hgignore file that ignores build/ and src/org/deca/compiler/parser/.

--j

Eli Gottlieb

unread,
Aug 17, 2012, 4:42:34 PM8/17/12
to deca-new...@googlegroups.com
a) Always use the latest public release of Scala for compiling decac.

b) A file was not added to hg.  I've added an .hgignore (thanks for the tip) and got everything built into the repo.

c) That was a problem with the build system on my end.  It would keep using the existing .class file even though the corresponding source-code file was updated, thus compiling everything when it had no right to do so.  Fixed now.

Pushed a new commit.
Reply all
Reply to author
Forward
0 new messages