Разбор кода Java с помощью ANTLR «нужна концепция»
Я пытаюсь сделать компиляцию программ, используя ANTLR, и я использую язык программирования Java в качестве цели, и суть проблемы заключается в разработке Intent Regornizer для исправления ошибок и улучшения исходного кода, если исходный код не соответствует грамматика. в учебниках и книгах по ANTLR я вижу, как скомпилировать простой код с предположением, что лексер и парсер, которые я сделал, и исходный код будут такими:
int main(){
int a,b;
c=20;
}
Как программа может обнаружить ошибки, о которых неизвестно, что переменная 'C' была объявлена ранее?
Я попытался применить его, следуя инструкциям по компиляции с использованием ANTLR, но код для генератора ANTLR считается допустимым, поскольку он соответствует правилам выражения грамматики. но на самом деле переменная с не известна.
или как сделать грамматику, которая может реализовать в ней объектно-ориентированные концепции? Я попытался использовать грамматику ANTLR, но результат все еще не объясняет концепцию ООП.
public class Hello {
}
public class HelloTwo {
Hello hl = new HelloWrong();
}
Если я скомпилирую код, результат будет действительным, потому что в соответствии с Grammar.but посмотрите, что класса HelloWrong действительно нет. Это также связано с записью предыдущей переменной в моих первых проблемах.
Извините за мой английский. Я надеюсь, что вы можете помочь моим проблемам. благодаря вам