Мне дали грамматику ANTLR для подмножества компилятора Java, известного как статический компилятор Java. Я пытаюсь расширить грамматику, включив в нее больше возможностей Java, например, я только что добавил грамматику для For Loops.
Затем, используя Eclipse и подключаемый модуль ANTLR, я выполнил «Компиляцию грамматики ANTLR». Вместо компиляции он произвел две ошибки в первом бите кода:
grammar ExtendedStaticJava;
options { backtrack=true; memoize=true; }
@header
{
package sjc.parser.extended;
import java.math.BigInteger;
/**
* Extended StaticJava parser.
* @author <myname>
*/
}
// the rest of the grammar has been excluded.
Первая ошибка находится в строке 1: «Неожиданный токен: грамматика» Вторая ошибка находится в строке 5: «Неожиданный символ: @»
Почему он не распознает этот базовый синтаксис ANTLR? Моя первая мысль заключалась в том, что мне чего-то не хватает в пути к классам, но я зашел в свойства проекта и убедился, что следующие JAR-файлы включены в Библиотеки:
- antlr-2.7.7.jar
- stringtemplate-3.2.1.jar
- antlr.jar
- antlr-runtime-3.0.1.jar
Есть идеи или предложения?