Win a copy of Head First Android this week in the Android forum!

Argenzul Kurosawa

Greenhorn
+ Follow
since Nov 09, 2011
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Argenzul Kurosawa

I am a complete idiot.

ANTLR3 changed everything and the main class was struggling to locate a constructor that is not defined anymore. Change a few sentences in the main class and problem solved.
10 years ago
Greetings, Java Ranch.

I am compiling some ANTLR3 grammars and trying to link them with my main class, but to no avail.

Due to constraints imposed by a higher (insert evil adjective) authority, I am forced to use the following folder structure:

  • project/build/es/ull/etsii/pl/analyzers/ -> ANTLR3 generated .java & .class lie here.
  • project/lib/antlr-3.4-complete.jar
  • project/src/es/ull/etsii/pl/analyzers/ -> Grammar files lie here.
  • project/src/es/ull/etsii/pl/MainClass.java -> My main class.

  • Just to be precise, the grammar files are Analex and Anasyn, located in the package es.ull.etsii.pl.analyzers. When compiled, they are placed inside the build folder, within the same package.

    The main class imports both Analex and Anasyn specifically.

    I use ANT to manage the project, and compiling the grammar files works. Sadly compiling the main class fails because it cannot find the symbols for the lexer and the parser I already compiled, even though I am giving the correct classpath (I suppose). The baffling part is that, I have used the same build.xml to compile other projects with the same folder structure. The only difference is that I have migrated from ANTLR2 to ANTLR3.

    This is the target that fails:

    And this is the ant log:


    I hope I haven't forgotten something and that any of you guys can help me.

    By the way, removing or altering the package structure is not an option.
    10 years ago