Hey folks!

I have a noob question. I'm trying to follow the very basic step in https://javacc.com/home/

git clone https://github.com/javacc21/javacc21.git
cd javacc21
ant

I'm getting a compile error in that last ant step (see below). May I get some help to resolve this? I am using a pretty fresh installation of Linux and Java and maybe I missed out something. This is my Java version

$ java --version
openjdk 17.0.1 2021-10-19
OpenJDK Runtime Environment (build 17.0.1+12-Ubuntu-120.04)
OpenJDK 64-Bit Server VM (build 17.0.1+12-Ubuntu-120.04, mixed mode, sharing)
$ ant
Buildfile: /home/al/projects/javacc21/build.xml

init:
     [echo] Join the JavaCC 21 Discussion forum at: https://parsers.org/
     [echo] Send any bug report to bugs@javacc.com and include the following information.
     [echo] JDK Version: 17.0.1 on Linux

parser-gen:

preprocessor-gen:

compile:
    [javac] Compiling 37 source files to /home/al/projects/javacc21/build
    [javac] warning: [options] bootstrap class path not set in conjunction with -source 8
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:64: error: cannot find symbol
    [javac] public class Grammar extends BaseNode {
    [javac]                              ^
    [javac]   symbol: class BaseNode
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:74: error: cannot find symbol
    [javac]     private CompilationUnit parserCode;
    [javac]             ^
    [javac]   symbol:   class CompilationUnit
    [javac]   location: class Grammar
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/LexerData.java:36: error: package com.javacc.parser.tree does not exist
    [javac] import com.javacc.parser.tree.EndOfFile;
    [javac]                              ^
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/LexerData.java:37: error: package com.javacc.parser.tree does not exist
    [javac] import com.javacc.parser.tree.RegexpChoice;
    [javac]                              ^
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/LexerData.java:38: error: package com.javacc.parser.tree does not exist
    [javac] import com.javacc.parser.tree.RegexpStringLiteral;
    [javac]                              ^
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/LexerData.java:39: error: package com.javacc.parser.tree does not exist
    [javac] import com.javacc.parser.tree.TokenProduction;
    [javac]                              ^
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:78: error: cannot find symbol
    [javac]     private List<TokenProduction> tokenProductions = new ArrayList<>();
    [javac]                  ^
    [javac]   symbol:   class TokenProduction
    [javac]   location: class Grammar
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:80: error: cannot find symbol
    [javac]     private Map<String, BNFProduction> productionTable;
    [javac]                         ^
    [javac]   symbol:   class BNFProduction
    [javac]   location: class Grammar
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/RegularExpression.java:36: error: package com.javacc.parser.tree does not exist
    [javac] import com.javacc.parser.tree.CodeBlock;
    [javac]                              ^
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/RegularExpression.java:37: error: package com.javacc.parser.tree does not exist
    [javac] import com.javacc.parser.tree.Name;
    [javac]                              ^
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/RegularExpression.java:38: error: package com.javacc.parser.tree does not exist
    [javac] import com.javacc.parser.tree.TokenProduction;
    [javac]                              ^
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/Expansion.java:36: error: cannot find symbol
    [javac] import com.javacc.parser.BaseNode;
    [javac]                         ^
    [javac]   symbol:   class BaseNode
    [javac]   location: package com.javacc.parser
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/Expansion.java:37: error: cannot find symbol
    [javac] import com.javacc.parser.Node;
    [javac]                         ^
    [javac]   symbol:   class Node
    [javac]   location: package com.javacc.parser
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/Expansion.java:46: error: cannot find symbol
    [javac] abstract public class Expansion extends BaseNode {
    [javac]                                         ^
    [javac]   symbol: class BaseNode
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:94: error: cannot find symbol
    [javac]     private List<Node> codeInjections = new ArrayList<>();
    [javac]                  ^
    [javac]   symbol:   class Node
    [javac]   location: class Grammar
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:110: error: cannot find symbol
    [javac]     private Set<RegexpStringLiteral> stringLiteralsToResolve = new HashSet<>();
    [javac]                 ^
    [javac]   symbol:   class RegexpStringLiteral
    [javac]   location: class Grammar
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/Translator.java:38: error: cannot find symbol
    [javac] import com.javacc.parser.Node;
    [javac]                         ^
    [javac]   symbol:   class Node
    [javac]   location: package com.javacc.parser
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:172: error: cannot find symbol
    [javac]     public String generateUniqueIdentifier(String prefix, Node exp) {
    [javac]                                                           ^
    [javac]   symbol:   class Node
    [javac]   location: class Grammar
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:191: error: cannot find symbol
    [javac]     public Node parse(Path file, boolean enterIncludes) throws IOException, ParseException {
    [javac]            ^
    [javac]   symbol:   class Node
    [javac]   location: class Grammar
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:273: error: cannot find symbol
    [javac]     public Node include(List<String> locations, Node includeLocation) throws IOException, ParseException {
    [javac]                                                 ^
    [javac]   symbol:   class Node
    [javac]   location: class Grammar
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:273: error: cannot find symbol
    [javac]     public Node include(List<String> locations, Node includeLocation) throws IOException, ParseException {
    [javac]            ^
    [javac]   symbol:   class Node
    [javac]   location: class Grammar
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:439: error: cannot find symbol
    [javac]     public List<Node> getOtherParserCodeDeclarations() {
    [javac]                 ^
    [javac]   symbol:   class Node
    [javac]   location: class Grammar
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:460: error: cannot find symbol
    [javac]     public List<ImportDeclaration> getParserCodeImports() {
    [javac]                 ^
    [javac]   symbol:   class ImportDeclaration
    [javac]   location: class Grammar
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:464: error: cannot find symbol
    [javac]     public void setParserCode(CompilationUnit parserCode) {
    [javac]                               ^
    [javac]   symbol:   class CompilationUnit
    [javac]   location: class Grammar
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:484: error: cannot find symbol
    [javac]     public Collection<BNFProduction> getParserProductions() {
    [javac]                       ^
    [javac]   symbol:   class BNFProduction
    [javac]   location: class Grammar
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:558: error: cannot find symbol
    [javac]     public Map<String, BNFProduction> getProductionTable() {
    [javac]                        ^
    [javac]   symbol:   class BNFProduction
    [javac]   location: class Grammar
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:568: error: cannot find symbol
    [javac]     public BNFProduction getProductionByName(String name) {
    [javac]            ^
    [javac]   symbol:   class BNFProduction
    [javac]   location: class Grammar
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:647: error: cannot find symbol
    [javac]     public List<TokenProduction> getAllTokenProductions() {
    [javac]                 ^
    [javac]   symbol:   class TokenProduction
    [javac]   location: class Grammar
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:651: error: cannot find symbol
    [javac]     public List<Lookahead> getAllLookaheads() {
    [javac]                 ^
    [javac]   symbol:   class Lookahead
    [javac]   location: class Grammar
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:655: error: cannot find symbol
    [javac]     public List<LookBehind> getAllLookBehinds() {
    [javac]                 ^
    [javac]   symbol:   class LookBehind
    [javac]   location: class Grammar
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:659: error: cannot find symbol
    [javac]     public void addTokenProduction(TokenProduction tp) {
    [javac]                                    ^
    [javac]   symbol:   class TokenProduction
    [javac]   location: class Grammar
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:758: error: cannot find symbol
    [javac]     public void addError(Node location, String errorMessage) {
    [javac]                          ^
    [javac]   symbol:   class Node
    [javac]   location: class Grammar
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:767: error: cannot find symbol
    [javac]     public void addWarning(Node location, String warningMessage) {
    [javac]                            ^
    [javac]   symbol:   class Node
    [javac]   location: class Grammar
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:828: error: cannot find symbol
    [javac]     private void checkForHooks(Node node, String className) {
    [javac]                                ^
    [javac]   symbol:   class Node
    [javac]   location: class Grammar
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:903: error: cannot find symbol
    [javac]     public void addCodeInjection(Node n) {
    [javac]                                  ^
    [javac]   symbol:   class Node
    [javac]   location: class Grammar
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:1482: error: cannot find symbol
    [javac]         public String translateExpression(Node expr) {
    [javac]                                           ^
    [javac]   symbol:   class Node
    [javac]   location: class Grammar.Utils
    [javac] /home/al/projects/javacc21/src/java/com/javacc/Grammar.java:1498: error: cannot find symbol
    [javac]         private void translateStatements(Node node, int indent, StringBuilder result) {
    [javac]                                          ^
    [javac]   symbol:   class Node
    [javac]   location: class Grammar.Utils
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/java/CodeInjector.java:46: error: cannot find symbol
    [javac]     private final Map<String, TypeDeclaration> types = new HashMap<>();
    [javac]                               ^
    [javac]   symbol:   class TypeDeclaration
    [javac]   location: class CodeInjector
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/java/CodeInjector.java:47: error: cannot find symbol
    [javac]     private final Map<String, Set<ImportDeclaration>> injectedImportsMap = new HashMap<>();
    [javac]                                   ^
    [javac]   symbol:   class ImportDeclaration
    [javac]   location: class CodeInjector
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/java/CodeInjector.java:48: error: cannot find symbol
    [javac]     private final Map<String, Set<Annotation>> injectedAnnotationsMap = new HashMap<>();
    [javac]                                   ^
    [javac]   symbol:   class Annotation
    [javac]   location: class CodeInjector
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/java/CodeInjector.java:49: error: cannot find symbol
    [javac]     private final Map<String, List<ObjectType>> extendsLists = new HashMap<>();
    [javac]                                    ^
    [javac]   symbol:   class ObjectType
    [javac]   location: class CodeInjector
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/java/CodeInjector.java:50: error: cannot find symbol
    [javac]     private final Map<String, List<ObjectType>> implementsLists = new HashMap<>();
    [javac]                                    ^
    [javac]   symbol:   class ObjectType
    [javac]   location: class CodeInjector
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/java/CodeInjector.java:51: error: cannot find symbol
    [javac]     private final Map<String, TypeParameters> typeParameterLists = new HashMap<>();
    [javac]                               ^
    [javac]   symbol:   class TypeParameters
    [javac]   location: class CodeInjector
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/java/CodeInjector.java:52: error: cannot find symbol
    [javac]     private final Map<String, List<ClassOrInterfaceBodyDeclaration>> bodyDeclarations = new HashMap<>();
    [javac]                                    ^
    [javac]   symbol:   class ClassOrInterfaceBodyDeclaration
    [javac]   location: class CodeInjector
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/java/CodeInjector.java:62: error: cannot find symbol
    [javac]                         List<Node> codeInjections) {
    [javac]                              ^
    [javac]   symbol:   class Node
    [javac]   location: class CodeInjector
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/java/CodeInjector.java:111: error: cannot find symbol
    [javac]     private void add(CompilationUnit jcu) {
    [javac]                      ^
    [javac]   symbol:   class CompilationUnit
    [javac]   location: class CodeInjector
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/java/CodeInjector.java:185: error: cannot find symbol
    [javac]     private void add(String name, List<ImportDeclaration> importDeclarations, List<Annotation> annotations, List<ObjectType> extendsList,
    [javac]                                        ^
    [javac]   symbol:   class ImportDeclaration
    [javac]   location: class CodeInjector
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/java/CodeInjector.java:185: error: cannot find symbol
    [javac]     private void add(String name, List<ImportDeclaration> importDeclarations, List<Annotation> annotations, List<ObjectType> extendsList,
    [javac]                                                                                    ^
    [javac]   symbol:   class Annotation
    [javac]   location: class CodeInjector
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/java/CodeInjector.java:185: error: cannot find symbol
    [javac]     private void add(String name, List<ImportDeclaration> importDeclarations, List<Annotation> annotations, List<ObjectType> extendsList,
    [javac]                                                                                                                  ^
    [javac]   symbol:   class ObjectType
    [javac]   location: class CodeInjector
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/java/CodeInjector.java:186: error: cannot find symbol
    [javac]             List<ObjectType> implementsList, ClassOrInterfaceBody body, boolean isInterface)
    [javac]                  ^
    [javac]   symbol:   class ObjectType
    [javac]   location: class CodeInjector
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/java/CodeInjector.java:186: error: cannot find symbol
    [javac]             List<ObjectType> implementsList, ClassOrInterfaceBody body, boolean isInterface)
    [javac]                                              ^
    [javac]   symbol:   class ClassOrInterfaceBody
    [javac]   location: class CodeInjector
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/java/CodeInjector.java:227: error: cannot find symbol
    [javac]     void injectCode(CompilationUnit jcu) {
    [javac]                     ^
    [javac]   symbol:   class CompilationUnit
    [javac]   location: class CodeInjector
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/java/CodeInjector.java:268: error: cannot find symbol
    [javac]     private void injectImportDeclarations(CompilationUnit jcu, Collection<ImportDeclaration> importDecls) {
    [javac]                                           ^
    [javac]   symbol:   class CompilationUnit
    [javac]   location: class CodeInjector
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/java/CodeInjector.java:268: error: cannot find symbol
    [javac]     private void injectImportDeclarations(CompilationUnit jcu, Collection<ImportDeclaration> importDecls) {
    [javac]                                                                           ^
    [javac]   symbol:   class ImportDeclaration
    [javac]   location: class CodeInjector
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/java/CodeInjector.java:285: error: cannot find symbol
    [javac]     public List<ObjectType> getExtendsList(String qualifiedName) {
    [javac]                 ^
    [javac]   symbol:   class ObjectType
    [javac]   location: class CodeInjector
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/java/CodeInjector.java:289: error: cannot find symbol
    [javac]     public List<ObjectType> getImplementsList(String qualifiedName) {
    [javac]                 ^
    [javac]   symbol:   class ObjectType
    [javac]   location: class CodeInjector
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/java/CodeInjector.java:293: error: cannot find symbol
    [javac]     public Map<String, List<ClassOrInterfaceBodyDeclaration>> getBodyDeclarations() {
    [javac]                             ^
    [javac]   symbol:   class ClassOrInterfaceBodyDeclaration
    [javac]   location: class CodeInjector
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/java/CodeInjector.java:297: error: cannot find symbol
    [javac]     public List<ClassOrInterfaceBodyDeclaration> getBodyDeclarations(String qualifiedName) {
    [javac]                 ^
    [javac]   symbol:   class ClassOrInterfaceBodyDeclaration
    [javac]   location: class CodeInjector
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/java/CodeInjector.java:331: error: cannot find symbol
    [javac]     public Map<String, TypeParameters> getTypeParameterLists() {
    [javac]                        ^
    [javac]   symbol:   class TypeParameters
    [javac]   location: class CodeInjector
    [javac] /home/al/projects/javacc21/src/java/com/javacc/parser/Token.java:13: error: cannot find symbol
    [javac] public class Token implements JavaCCConstants, Node {
    [javac]                                                ^
    [javac]   symbol: class Node
    [javac] /home/al/projects/javacc21/src/java/com/javacc/parser/ParseException.java:13: error: cannot access JavaCCParser
    [javac]     private List<JavaCCParser.NonTerminalCall> callStack;
    [javac]                  ^
    [javac]   bad source file: /home/al/projects/javacc21/src/java/com/javacc/parser/JavaCCParser.java
    [javac]     file does not contain class com.javacc.parser.JavaCCParser
    [javac]     Please remove or make sure it appears in the correct subdirectory of the sourcepath.
    [javac] /home/al/projects/javacc21/src/java/com/javacc/parser/Token.java:56: error: cannot find symbol
    [javac]     private Node parent;
    [javac]             ^
    [javac]   symbol:   class Node
    [javac]   location: class Token
    [javac] /home/al/projects/javacc21/src/java/com/javacc/parser/Token.java:346: error: cannot find symbol
    [javac]     public void copyLocationInfo(Node from) {
    [javac]                                  ^
    [javac]   symbol:   class Node
    [javac]   location: class Token
    [javac] /home/al/projects/javacc21/src/java/com/javacc/parser/Token.java:356: error: cannot find symbol
    [javac]     public void copyLocationInfo(Node start, Node end) {
    [javac]                                  ^
    [javac]   symbol:   class Node
    [javac]   location: class Token
    [javac] /home/al/projects/javacc21/src/java/com/javacc/parser/Token.java:356: error: cannot find symbol
    [javac]     public void copyLocationInfo(Node start, Node end) {
    [javac]                                              ^
    [javac]   symbol:   class Node
    [javac]   location: class Token
    [javac] /home/al/projects/javacc21/src/java/com/javacc/parser/Token.java:682: error: cannot find symbol
    [javac]     public void setChild(int i, Node n) {
    [javac]                                 ^
    [javac]   symbol:   class Node
    [javac]   location: class Token
    [javac] /home/al/projects/javacc21/src/java/com/javacc/parser/Token.java:686: error: cannot find symbol
    [javac]     public void addChild(Node n) {
    [javac]                          ^
    [javac]   symbol:   class Node
    [javac]   location: class Token
    [javac] /home/al/projects/javacc21/src/java/com/javacc/parser/Token.java:690: error: cannot find symbol
    [javac]     public void addChild(int i, Node n) {
    [javac]                                 ^
    [javac]   symbol:   class Node
    [javac]   location: class Token
    [javac] /home/al/projects/javacc21/src/java/com/javacc/parser/Token.java:694: error: cannot find symbol
    [javac]     public Node removeChild(int i) {
    [javac]            ^
    [javac]   symbol:   class Node
    [javac]   location: class Token
    [javac] /home/al/projects/javacc21/src/java/com/javacc/parser/Token.java:698: error: cannot find symbol
    [javac]     public final int indexOf(Node n) {
    [javac]                              ^
    [javac]   symbol:   class Node
    [javac]   location: class Token
    [javac] /home/al/projects/javacc21/src/java/com/javacc/parser/Token.java:702: error: cannot find symbol
    [javac]     public Node getParent() {
    [javac]            ^
    [javac]   symbol:   class Node
    [javac]   location: class Token
    [javac] /home/al/projects/javacc21/src/java/com/javacc/parser/Token.java:706: error: cannot find symbol
    [javac]     public void setParent(Node parent) {
    [javac]                           ^
    [javac]   symbol:   class Node
    [javac]   location: class Token
    [javac] /home/al/projects/javacc21/src/java/com/javacc/parser/Token.java:714: error: cannot find symbol
    [javac]     public final Node getChild(int i) {
    [javac]                  ^
    [javac]   symbol:   class Node
    [javac]   location: class Token
    [javac] /home/al/projects/javacc21/src/java/com/javacc/parser/Token.java:718: error: cannot find symbol
    [javac]     public final List<Node> children() {
    [javac]                       ^
    [javac]   symbol:   class Node
    [javac]   location: class Token
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/Translator.java:664: error: cannot find symbol
    [javac]     ASTExpression transformName(Node name) {
    [javac]                                 ^
    [javac]   symbol:   class Node
    [javac]   location: class Translator
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/Translator.java:699: error: cannot find symbol
    [javac]     ASTInvocation transformMethodCall(Node node) {
    [javac]                                       ^
    [javac]   symbol:   class Node
    [javac]   location: class Translator
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/Translator.java:714: error: cannot find symbol
    [javac]     private void transformArgs(Node args, ASTInvocation resultNode) {
    [javac]                                ^
    [javac]   symbol:   class Node
    [javac]   location: class Translator
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/Translator.java:724: error: cannot find symbol
    [javac]     protected ASTFormalParameter transformFormal(FormalParameter fp) {
    [javac]                                                  ^
    [javac]   symbol:   class FormalParameter
    [javac]   location: class Translator
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/Translator.java:737: error: cannot find symbol
    [javac]     protected ASTHelperNode transformTree(Node node, boolean forType) {
    [javac]                                           ^
    [javac]   symbol:   class Node
    [javac]   location: class Translator
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/Translator.java:1107: error: cannot find symbol
    [javac]     protected ASTHelperNode transformTree(Node node) { return transformTree(node, false); }
    [javac]                                           ^
    [javac]   symbol:   class Node
    [javac]   location: class Translator
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/Translator.java:1185: error: cannot find symbol
    [javac]     public void translateExpression(Node expr, StringBuilder result) {
    [javac]                                     ^
    [javac]   symbol:   class Node
    [javac]   location: class Translator
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/Translator.java:1200: error: cannot find symbol
    [javac]     public void translateStatement(Node stmt, int indent, StringBuilder result) {
    [javac]                                    ^
    [javac]   symbol:   class Node
    [javac]   location: class Translator
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/Translator.java:1252: error: cannot find symbol
    [javac]     protected List<ASTFormalParameter> transformFormals(List<FormalParameter> formals) {
    [javac]                                                              ^
    [javac]   symbol:   class FormalParameter
    [javac]   location: class Translator
    [javac] /home/al/projects/javacc21/src/java/com/javacc/output/Translator.java:1261: error: cannot find symbol
    [javac]     public void translateFormals(List<FormalParameter> formals, SymbolTable symbols, StringBuilder result) {
    [javac]                                       ^
    [javac]   symbol:   class FormalParameter
    [javac]   location: class Translator
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/LexicalStateData.java:36: error: package com.javacc.parser.tree does not exist
    [javac] import com.javacc.parser.tree.RegexpChoice;
    [javac]                              ^
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/LexicalStateData.java:37: error: package com.javacc.parser.tree does not exist
    [javac] import com.javacc.parser.tree.RegexpSpec;
    [javac]                              ^
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/LexicalStateData.java:38: error: package com.javacc.parser.tree does not exist
    [javac] import com.javacc.parser.tree.RegexpStringLiteral;
    [javac]                              ^
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/LexicalStateData.java:39: error: package com.javacc.parser.tree does not exist
    [javac] import com.javacc.parser.tree.TokenProduction;
    [javac]                              ^
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/RegularExpression.java:63: error: cannot find symbol
    [javac]     private CodeBlock codeSnippet;
    [javac]             ^
    [javac]   symbol:   class CodeBlock
    [javac]   location: class RegularExpression
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/RegularExpression.java:65: error: cannot find symbol
    [javac]     public CodeBlock getCodeSnippet() {
    [javac]            ^
    [javac]   symbol:   class CodeBlock
    [javac]   location: class RegularExpression
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/RegularExpression.java:69: error: cannot find symbol
    [javac]     void setCodeSnippet(CodeBlock codeSnippet) {
    [javac]                         ^
    [javac]   symbol:   class CodeBlock
    [javac]   location: class RegularExpression
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/RegularExpression.java:83: error: cannot find symbol
    [javac]     private Name lhs;
    [javac]             ^
    [javac]   symbol:   class Name
    [javac]   location: class RegularExpression
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/RegularExpression.java:92: error: cannot find symbol
    [javac]     protected TokenProduction getTokenProduction() {
    [javac]               ^
    [javac]   symbol:   class TokenProduction
    [javac]   location: class RegularExpression
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/RegularExpression.java:115: error: cannot find symbol
    [javac]     public Name getLHS() {
    [javac]            ^
    [javac]   symbol:   class Name
    [javac]   location: class RegularExpression
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/RegularExpression.java:119: error: cannot find symbol
    [javac]     public void setLHS(Name lhs) {
    [javac]                        ^
    [javac]   symbol:   class Name
    [javac]   location: class RegularExpression
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/LexicalStateData.java:47: error: cannot find symbol
    [javac]     private List<TokenProduction> tokenProductions = new ArrayList<>();
    [javac]                  ^
    [javac]   symbol:   class TokenProduction
    [javac]   location: class LexicalStateData
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/LexicalStateData.java:81: error: cannot find symbol
    [javac]     void addTokenProduction(TokenProduction tokenProduction) {
    [javac]                             ^
    [javac]   symbol:   class TokenProduction
    [javac]   location: class LexicalStateData
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/LexicalStateData.java:89: error: cannot find symbol
    [javac]     void addStringLiteral(RegexpStringLiteral re) {
    [javac]                           ^
    [javac]   symbol:   class RegexpStringLiteral
    [javac]   location: class LexicalStateData
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/LexicalStateData.java:118: error: cannot find symbol
    [javac]     List<RegexpChoice> process() {
    [javac]          ^
    [javac]   symbol:   class RegexpChoice
    [javac]   location: class LexicalStateData
    [javac] /home/al/projects/javacc21/src/java/com/javacc/core/LexicalStateData.java:173: error: cannot find symbol
    [javac]     List<RegexpChoice> processTokenProduction(TokenProduction tp, boolean isFirst) {
    [javac]                                               ^
    [javac]   symbol:   class TokenProduction
    [javac]   location: class LexicalStateData
    [javac] Note: /home/al/projects/javacc21/src/java/com/javacc/output/Translator.java uses unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
    [javac] 100 errors
    [javac] 1 warning
    [javac] only showing the first 100 errors, of 889 total; use -Xmaxerrs if you would like to see more

BUILD FAILED
/home/al/projects/javacc21/build.xml:82: Compile failed; see the compiler error output for details.

Total time: 1 second

Hi, thanks for the message. I'm a bit puzzled. The reason it's not finding all the various classes, like Node and BaseNode and all that is that the parser-gen task was not run for some reason. You can see that in the output even, that you have:

   parser-gen:

   preprocessor-gen:

So it's doing nothing for those steps. When I run it on my local box, I get:

 parser-gen:
     [echo] Using Bootstrap JavaCC to regenerate JavaCC parser

 preprocessor-gen:
     [echo] Using Bootstrap JavaCC to regenerate preprocessor

IOW, it's generating the java code for both the JavaCC parser (and the preprocessor which is a separate parser actually). Now, I'm really a bit puzzled by what you're reporting. It seems as if the build system (which is not terribly complex) "thinks" that the rebuild of the parser classes is not necessary, so it's skipping that step and then going straight to the compile, but some of the needed classes are not present because the parser-gen step was (incorrectly) skipped.

Now, one thing you could try is just building the parser by directly running JavaCC21 on the grammars in question. So, from the top-level directory, you could just try:

    bin/javacc src/javacc/JavaCC.javacc
    bin/javacc examples/preprocessor/Preprocessor.javacc

And then, assuming that worked, do:

  ant compile

So maybe try that and tell us what happens!

  • alr replied to this.

    The build process uses the timestamp of the files to detect things needed to be done.
    "git clone" timestamps files as they are extracted, so the timestamps of the files to be generated may be newer than the source.
    So for me "ant clean" usually does the trick.
    "ant full-test" will also do a clean first.

    • alr replied to this.

      Gravelbones

      That did the trick! ant full-test worked and now ant compile works too.

      revusky

      I understand why Gravelbones's trick might work but I don't understand how the problem happened in the first place. I can't even seem to replicate the problem either. Maybe there was something strange in my machine? In any case, it's all settled now. Thanks!

      Okay, that´s good to hear. I have to admit that I was puzzled by what you were reporting because I honestly didn't see how this problem was even possible. Well, never mind. If you hit any more snags, you now where to find us!