LINUX.ORG.RU

Теоретический вопрос по синтаксису языков


0

0

Чем в языках программирования лексема отличается от идентификатора, в самом общем смысле?

1. Например, строковая или числовая константа — это лексема, но не идентификатор?

2. Имя функции или переменной — это и лексема, и идентификатор?

3. Таким образом, идентификатор, это лексема, которая является именем функции или переменной?

4. Что такое символ в LISP? Это идентификатор? Зачем тогда придумали ещё один термин?

лексема это более низкий уровень. Это как различные геометрические фигуры (низкий уровень) и живые организмы (высокий уровень). Есть много разных шаров, но не каждого из них зовут Колобком.

dilmah ★★★★★
()

Лексема — это представление какой-либо отдельной элементарной сущности языка в виде последовательности символов. Или можно определить лексему как терминальный символ грамматики. Идентификатор — это то, что идентифицирует объект. Символ в лиспе — это не совсем идентификатор. В лиспе существуют разные пространства имен, поэтому один символ может быть идентификатором разных объектов (или не быть идентификатором никакого объекта). Помимо этого, с символом можно делать разные операции, которые не относятся к идентификаторам (импортирование/экспортирование/скрытие/удаление из пакета). И название появилось, скорее всего, из названия области «символьное вычисление», в котором под символом понимается нечто нечисловое.

dmitry_vk ★★★
()

> 1. Например, строковая или числовая константа — это лексема, но не идентификатор?

лексема-литерал

dilmah ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.