Многие программисты работают годами и не знают, что такое лексема. И это им совершенно не мешает (сам такой))). Ну а про Фортран забыли даже те, кто его знал. Но не я. Почему-то нравится мне этот язык, хотя на нём, конечно, я не программирую. Но зато рассказываю иногда об этом прадедушке языков высокого уровня.
Лексемы - это это основные значимые последовательности букв и цифр, а также специальных символов, из которых составляются имена констант, типов данных и прочих элементов языка. Лексемами являются все ключевые (зарезервированные) слова языка, названия стандартных типов данных и т.п.
В лингвистике лексема - это единица языка (слово). Например, “я” в русском языке может быть как буквой, так и словом, поэтому это можно считать лексемой. А вот “ь” может быть только буквой, то есть только частью слова (лексемы). Поскольку языки программирования являются в первую очередь языками, то они следуют всем правилам языков человеческих.
Например, в Фортране вот такие символы и комбинации символов являются лексемами:
/ ( ) (/ /) , = => : :: ; %
поскольку имеют смысловое значение сами по себе.
Также идентификатор может быть лексемой, но лексема не всегда является идентификатором (например, указанные выше символы не являются идентификаторами, хотя при желании их можно назвать и так).
Опять же пример из человеческих языков. Вы можете в русском языке использовать иностранные слова. Но они не будут лексемами, поскольку не являются частью русского языка. А вот идентификаторами (или чем-то ещё) они быть могут.
Все лексемы должны отделяться друг от друга пробелами (одним или несколькими). Пробел, соответственно, лексемой не является. Хотя является допустимым в языке символом и может быть частью текстовой константы.
Ну и рисунок для полноты картины:
На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.