ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sunil Mishra <smis...@AI.SRI.COM>
Subject Re: ANTLR task doesn't update its output
Date Tue, 29 Jun 2004 20:34:05 GMT
OK, I tried looking for an antlrtool.jar, and failed. I downloaded a 
new copy of antlr 2.7.2 (not the latest, that was deliberate) and 
didn't find it there. I re-compiled the antlr java library hoping that 
this would produce the antlrtool.jar, but no dice. However, it did 
produce a new antlr.jar, and that got things working right. But! When I 
re-unpacked antlr 2.7.2 from the distribution and used the stock jar, I 
got the same behavior I had before, that ant would not update the 
output files timestamps. This doesn't seem to be the only problem with 
the antlr 2.7.2 distribution: the distribution talks of an 
antlrall.jar, but provides an antlr.jar.

So, stock antlr.jar from 2.7.2: bad. Recompiled antlr.jar: good. I need 
to of course make sure that everything else continues to work right 
with the recompiled antlr.jar.

Sunil

On Jun 28, 2004, at 6:45 PM, Mani G. Iyer wrote:

> I don't mean antlr.jar but antlrtool.jar .
>
> mani
>
> -----Original Message-----
> From: Sunil Mishra [mailto:smishra@AI.SRI.COM]
> Sent: Monday, June 28, 2004 9:39 PM
> To: Ant Users List
> Subject: Re: ANTLR task doesn't update its output
>
> I used the following invocation:
>
> $ CLASSPATH=/Volumes/Users/smishra/aic/jtp/beta/java/lib/antlr.jar ant
> -f antlr-build.xml compileParser
>
> I got the same result as before. I'm quite certain the classpath is
> being used correctly, I removed the reference to antlr.jar from the
> build file.
>
> Sunil
>
>
> On Jun 28, 2004, at 6:06 PM, Mani G. Iyer wrote:
>
>> Sunil:
>> I think you need to put antlrtool.jar in your classpath.  Let me know
>> how
>> that works.
>>
>> mani
>>
>> -----Original Message-----
>> From: Sunil Mishra [mailto:smishra@AI.SRI.COM]
>> Sent: Monday, June 28, 2004 6:34 PM
>> To: Ant Users List
>> Subject: Re: ANTLR task doesn't update its output
>>
>> But, if it were a classpath problem, I would not have antlr working at
>> all. If the output files are not present, the antlr output is 
>> correctly
>> written out. But if the antlr file is touched, the timestamp on the
>> output file is not updated. In fact, if I put some garbage into the
>> grammar file, I even get an error:
>>
>> $ ant -f antlr-build.xml compileParser
>> Buildfile: antlr-build.xml
>>
>> copyLib:
>>
>> compileParser:
>>      [antlr] ANTLR Parser Generator   Version 2.7.2   1989-2003
>> jGuru.com
>>      [antlr] error: Token stream error reading grammar(s):
>>      [antlr]
>> /Volumes/Unix/users/smishra/devl/aic/jtp/beta/java/src/jtp/fol/kif/
>> KIFParser.g:2:1: expecting '{', found 'f'
>>      [antlr]
>> /Volumes/Unix/users/smishra/devl/aic/jtp/beta/java/src/jtp/fol/kif/
>> KIFParser.g:2:1: rule grammar trapped:
>>      [antlr]
>> /Volumes/Unix/users/smishra/devl/aic/jtp/beta/java/src/jtp/fol/kif/
>> KIFParser.g:2:1: unexpected token: foo
>>      [antlr] Exiting due to errors.
>>
>> I guess I chose a poor subject line. It should have said "ANTLR task
>> doesn't update its output timestamp". I'm not sure what to make of 
>> this
>> behavior.
>>
>> Sunil
>>
>> On Jun 28, 2004, at 3:20 PM, Matt Benson wrote:
>>
>>> Seems so.  Be that as it may, your output shows that
>>> classes are not being found.  Since you are using the
>>> same classpath over and over, I would declare it as a
>>> reference:
>>>
>>> <classpath id="antlr.cp">
>>>   <pathelement location="lib/antlr.jar" />
>>> </classpath>
>>>
>>> when you use it, you can then use:
>>> <classpath refid="antlr.cp" />
>>>
>>> You can use <pathconvert> or <property> to get your
>>> path into a property, whose value you can then check
>>> by <echo>ing it.  It's just a matter of debugging
>>> what's going on by a little trial and error.
>>>
>>> -Matt
>>>
>>> --- Sunil Mishra <smishra@AI.SRI.COM> wrote:
>>>> Here's the compileParser target definition:
>>>>
>>>>    <target name="compileParser" depends="copyLib">
>>>>      <antlr target="${parser.dir}/KIFParser.g">
>>>>        <classpath>
>>>>          <pathelement location="lib/antlr.jar"/>
>>>>        </classpath>
>>>>      </antlr>
>>>>      <antlr target="${parser.dir}/cnf.g">
>>>>        <classpath>
>>>>          <pathelement location="lib/antlr.jar"/>
>>>>        </classpath>
>>>>      </antlr>
>>>>      <antlr target="${parser.dir}/codegen.g">
>>>>        <classpath>
>>>>          <pathelement location="lib/antlr.jar"/>
>>>>        </classpath>
>>>>      </antlr>
>>>>      <antlr target="${parser.dir}/simplify.g">
>>>>        <classpath>
>>>>          <pathelement location="lib/antlr.jar"/>
>>>>        </classpath>
>>>>      </antlr>
>>>>    </target>
>>>>
>>>> The documentation leads me to believe that
>>>> specifying the classpath
>>>> this way has the same effect as putting the antlr
>>>> jar in the ant lib
>>>> directory. Is that correct?
>>>>
>>>> Sunil
>>>>
>>>> On Jun 28, 2004, at 2:59 PM, Matt Benson wrote:
>>>>
>>>>> Looks like you need to add the ANTLR release
>>>> jar(s) to
>>>>> (most simply) $ANT_HOME/lib, or specify them to
>>>> Ant
>>>>> using the -lib ... option.
>>>>>
>>>>> -Matt
>>>>>
>>>>> --- Sunil Mishra <smishra@AI.SRI.COM> wrote:
>>>>>> Here's the output with the verbose flag...
>>>>>>
>>>>>> Sunil
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> $ ant -v -f antlr-build.xml compileParser
>>>>>> Apache Ant version 1.6.1 compiled on February 12
>>>>>> 2004
>>>>>> Buildfile: antlr-build.xml
>>>>>> Detected Java version: 1.4 in:
>>>>>>
>>>>>
>>>>
>>> /System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Home
>>>>>> Detected OS: Mac OS X
>>>>>> parsing buildfile
>>>>>>
>>>>>
>>>>
>>> /Volumes/Unix/users/smishra/devl/aic/jtp/beta/java/antlr-build.xml
>>>>>> with
>>>>>> URI =
>>>>>>
>>>>>
>>>>
>>> file:///Volumes/Unix/users/smishra/devl/aic/jtp/beta/java/antlr-
>>>>>>
>>>>>> build.xml
>>>>>> Project base dir set to:
>>>>>>
>>>> /Volumes/Unix/users/smishra/devl/aic/jtp/beta/java
>>>>>> Build sequence for target `compileParser' is
>>>>>> [copyLib, compileParser]
>>>>>> Complete build sequence is [copyLib,
>>>> compileParser,
>>>>>> clean, init,
>>>>>> compile, all, ]
>>>>>>
>>>>>> copyLib:
>>>>>>       [copy] antlr.jar omitted as antlr.jar is up
>>>> to
>>>>>> date.
>>>>>>       [copy] concurrent.jar omitted as
>>>>>> concurrent.jar is up to date.
>>>>>>       [copy] icu4j.jar omitted as icu4j.jar is up
>>>> to
>>>>>> date.
>>>>>>       [copy] jakarta-oro-2.0.5.jar omitted as
>>>>>> jakarta-oro-2.0.5.jar is
>>>>>> up to date.
>>>>>>       [copy] jdom.jar omitted as jdom.jar is up
>>>> to
>>>>>> date.
>>>>>>       [copy] jena.jar omitted as jena.jar is up
>>>> to
>>>>>> date.
>>>>>>       [copy] junit.jar omitted as junit.jar is up
>>>> to
>>>>>> date.
>>>>>>       [copy] log4j.jar omitted as log4j.jar is up
>>>> to
>>>>>> date.
>>>>>>       [copy] xercesImpl.jar omitted as
>>>>>> xercesImpl.jar is up to date.
>>>>>>       [copy] xmlParserAPIs.jar omitted as
>>>>>> xmlParserAPIs.jar is up to
>>>>>> date.
>>>>>>
>>>>>> compileParser:
>>>>>>      [antlr] Couldn't find
>>>>>> antlr/ANTLRGrammarParseBehavior.class
>>>>>>      [antlr] Couldn't find
>>>>>> antlr/ANTLRGrammarParseBehavior.class
>>>>>>      [antlr] Setting target to:
>>>>>>
>>>>>
>>>>
>>> /Volumes/Unix/users/smishra/devl/aic/jtp/beta/java/src/jtp/fol/kif/
>>>>>>
>>>>>> KIFParser.g
>>>>>>      [antlr] Setting output directory to:
>>>>>>
>>>>>
>>>>
>>> /Volumes/Unix/users/smishra/devl/aic/jtp/beta/java/src/jtp/fol/kif
>>>>>>      [antlr] Compiling
>>>>>>
>>>>>
>>>>
>>> /Volumes/Unix/users/smishra/devl/aic/jtp/beta/java/src/jtp/fol/kif/
>>>>>>
>>>>>> KIFParser.g as it is newer than
>>>>>>
>>>>>
>>>>
>>> /Volumes/Unix/users/smishra/devl/aic/jtp/beta/java/src/jtp/fol/kif/
>>>>>>
>>>>>> KIFParser.java
>>>>>>      [antlr] Executing
>>>>>>
>>>>>
>>>>
>>> '/System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Home/bin/
>>>>>>
>>>>>> java' with arguments:
>>>>>>      [antlr] '-classpath'
>>>>>>      [antlr]
>>>>>>
>>>>>
>>>>
>>> '/Volumes/Unix/users/smishra/devl/aic/jtp/beta/java/lib/antlr.jar'
>>>>>>      [antlr] 'antlr.Tool'
>>>>>>      [antlr] '-o'
>>>>>>      [antlr]
>>>>>>
>>>>>
>>>>
>>> '/Volumes/Unix/users/smishra/devl/aic/jtp/beta/java/src/jtp/fol/kif'
>>>>>>      [antlr]
>>>>>>
>>>>>
>>>>
>>> '/Volumes/Unix/users/smishra/devl/aic/jtp/beta/java/src/jtp/fol/kif/
>>>>>>
>>>>>> KIFParser.g'
>>>>>>      [antlr]
>>>>>>      [antlr] The ' characters around the
>>>> executable
>>>>>> and arguments are
>>>>>>      [antlr] not part of the command.
>>>>>>      [antlr] ANTLR Parser Generator   Version
>>>> 2.7.2
>>>>>>  1989-2003 jGuru.com
>>>>>>
>>>>>>
>>>>>>      [antlr] Couldn't find
>>>>>> antlr/ANTLRGrammarParseBehavior.class
>>>>>>      [antlr] Couldn't find
>>>>>> antlr/ANTLRGrammarParseBehavior.class
>>>>>>      [antlr] Setting target to:
>>>>>>
>>>>>
>>>>
>>> /Volumes/Unix/users/smishra/devl/aic/jtp/beta/java/src/jtp/fol/kif/
>>>>>>
>>>>>> cnf.g
>>>>>>      [antlr] Setting output directory to:
>>>>>>
>>>>>
>>>>
>>> /Volumes/Unix/users/smishra/devl/aic/jtp/beta/java/src/jtp/fol/kif
>>>>>>      [antlr] Skipped grammar file. Generated file
>>>>>>
>>>>>
>>>>
>>> /Volumes/Unix/users/smishra/devl/aic/jtp/beta/java/src/jtp/fol/kif/
>>>>>>
>>>>>> CNFConverter.javais newer.
>>>>>>      [antlr] Couldn't find
>>>>>> antlr/ANTLRGrammarParseBehavior.class
>>>>>>      [antlr] Couldn't find
>>>>>> antlr/ANTLRGrammarParseBehavior.class
>>>>>>      [antlr] Setting target to:
>>>>>>
>>>>>
>>>>
>>> /Volumes/Unix/users/smishra/devl/aic/jtp/beta/java/src/jtp/fol/kif/
>>>>>>
>>>>>> codegen.g
>>>>>>      [antlr] Setting output directory to:
>>>>
>>> === message truncated ===
>>>
>>>
>>>
>>> 	
>>> 		
>>> __________________________________
>>> Do you Yahoo!?
>>> New and Improved Yahoo! Mail - 100MB free storage!
>>> http://promotions.yahoo.com/new_mail
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>>> For additional commands, e-mail: user-help@ant.apache.org
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>> For additional commands, e-mail: user-help@ant.apache.org
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>> For additional commands, e-mail: user-help@ant.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message