Терминальный символ и нетерминальный символ - PullRequest
0 голосов
/ 17 июля 2009

Может кто-нибудь сказать мне разницу между терминалом и нетерминальным символом в случае Java?

Терминал означает ключевое слово, а нетерминал - какой-либо общий строковый литерал?

Ответы [ 2 ]

3 голосов
/ 17 июля 2009

В грамматиках терминалом является некоторая форма токена (ключевое слово, идентификатор, символ, литерал и т. Д.), В то время как правила нетерминальной ссылки.

Таким образом, и ключевое слово, и буквенная строка будут терминалами. Заявление будет нетерминальным.

(Вероятно, это действительно плохое описание. Прочитайте книгу о драконах.)

РЕДАКТИРОВАТЬ (не автором оригинала): Я никогда не слышал о книге драконов, так что вот ссылка .

1 голос
/ 17 июля 2009

Ваш вопрос довольно неясен. Вы говорите о формальной грамматике , которая описывает язык Java? Если это так, все , которое вы видите в синтаксически допустимом файле Java, является (частью) терминалом.

Строка «на» языке, описанном какой-то грамматикой, если она может быть произведена применяя правила производства грамматика пока только терминалы остается.

Возможно, вам стоит проверить Спецификацию языка Java ,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...