Создание простого лексического анализатора в Java - PullRequest
3 голосов
/ 01 ноября 2011

Я создаю лексический анализатор, который должен читать текстовые токены ввода и вывода для базового «созданного» языка и выводить токен при вызове.Мне бы хотелось, чтобы он отличал идентификаторы, константы и т. Д. От списка, который я предварительно определил.

Мне нужно прочитать текстовый файл, используя поток ввода.Цикл while будет циклически проходить через символы по отдельности, но мне нужно, чтобы он распознавал, являются ли отсканированные символы идентификатором или '+' '-' '*' '/' и т. Д. ... как лучше всего это сделать?

Я довольно новичок в программировании, поэтому любые советы о том, как построить это, будут оценены.большое спасибо за любые ответы

Ответы [ 2 ]

4 голосов
/ 01 ноября 2011

Не пытайтесь написать свой собственный лексер / парсер.

Проще использовать генератор лексера / парсера, такой как ANTLR или SableCC .

2 голосов
/ 01 ноября 2011

Класс StreamTokenizer, вероятно, поможет вам больше всего.Он будет читать и различать идентификаторы, числа и строки.Вы также можете настроить его для идентификации операторов, таких как +, * и т. Д.

...