[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Minibasic-1.0 build fails



Hi,

Sorry for bounced mail, I had no idea. I had several friends send me angry
flames about this just a few hours ago! My hosting provider took my static
IP away, I think that is the reason. I'll get it back when I can afford it.
Until then use my email address gnudev@ozemail.com.au for a reliable way of
reaching me.

As for my problem, I got Ant installed and working OK. All this XML stuff is
foreign to me. I confess that I'm a little disappointed that SableCC appears
to rely on it. It's a good tool, but it complicates things somewhat, for
newbies at least. Maybe it's really worth putting in the effort from the
beginning. Maybe SableCC doesn't rely on Ant, but I don't see any
instructions for using SableCC without it.

I've logged all the problems I've had so far for my newbies manual I will
give to the SableCC project, with answers and how I resolved things,
including installing and getting Ant working.

I need to ask more questions so I can write my newbies SableCC manual and
offer a fairly complete FAQ.

Here is the probem I have:

I get an error from Ant:

Buildfile: build.xml

check_for_optional_packages:

prepare:

parsers:

BUILD FAILED

C:\sablecc\grammars\minibasic-1.0\build.xml:44: Class
org.sablecc.ant.taskdef.Sablecc doesn't support the "withtools" attribute

In Minibasic-1.0's build.xml file, line 44 or thereabouts depending on
newlines:
<sablecc src="grammar" outputdirectory="${src.dir}" withtools="on">

I tried editing the file and changing withtools to withtools="off" but I
just get the same error. Why can't I just change it to withtools="off" ? And
what are these tools?


In Minibasic-1.0's build.xml file, line 31 or thereabouts depending on
newlines:

 <property name="build.compiler" value="jikes"/>

I don't have jikes on my machine. Can I just change it to javac?


Line 150 or thereabouts:

<target name="changelog" description="regenerates the change log">

    <exec executable="cvs2cl" dir="${basedir}">
      <arg line="--utc -g -z9 -F TRUNK -S -W 3600 --usermap
ChangeLog.usermap -I ChangeLog"/>
    </exec>

  </target>

I have no executable called "cvs2cl" on my machine. Can I just comment it
out?

Even if I did install CVS, I never use it, so is this absolutely necessary?

Line 28 or thereabouts:

  <property name="classpath" value="../sablecc/lib/sablecc.jar"/>

Can I just comment this out? I've already put sablecc.jar on my classpath in
my autoexec.bat.


I have a more general question: What are the basic steps needed to build a
compiler or intepreter using ant from SableCC's output?

Does it go something like this:
1.    Run SableCC on the grammar. [Where is a tutorial for writing a SableCC
grammar file? If there is none, I will write one for the newbie manual. I
will need to ask more questions ;) ]
2.    Add .java source files, such as the Intepreter, Main class, code
generator or whatever. Are these the ONLY sources that need to be added? Is
there any editing to do in /node, /analysis, or whatever?
3.    Write a build.xml file and stick it in the root directory. Can I find
out more about build.xml and how to write one generically, if you know what
I mean, in the Ant docs? Is this what is called the Ant API?
4.    Run Ant
5.    Anything else?


Thanks for your time guys! By the way I'm telling Richard Stallman about
SableCC. I will do that when I have a project built with SableCC that I can
use to show off and impress him (hopefully!) In any case I'll have SableCC
added to the Free Software Directory if it isn't there already (I'll check
now) and get some docs put in with GCC-java, since I think this will be a
good thing for java programmers to know about generally even if they don't
have needs for a compiler compiler as such. I want to find out how to build
EXEs of compilers and interpreters built with SableCC using GCC-java on UNIX
and Visual J++ on Win32. Wish me luck.

---
James