Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Строки и языки

E = M * C + 2

Атрибуты токенов

 

Если шаблону токена соответствует несколько лексем, лексический анализатор должен обеспечить дополнительную информацию о лексемах для дальнейшей работы. Лексический анализатор сохраняет информацию о токенах в атрибутах, связанных с этими токенами. На практике токены имеют обычно один атрибут – указатель на запись в таблице символов. В этой записи хранится информация о токене.

 

Например, нам могут понадобиться лексемы идентификаторов, номера строк, где эти идентификаторы встретились впервые и т.п. Вся эта (и другая) информация хранится в хаписях таблицы символов (таблице имен).

 


Пример. Токены и связанные с ними значения атрибутов для инструкции

 

Токен Значение атрибута
id указатель на запись в таблице символов для E
assign_op -
id указатель на запись в таблице символов для M
mult_op -
id указатель на запись в таблице символов для C
plus_op -
num  

 

Это можно рассматривать как пары < токен, значение атрибута >. В некоторых парах нет надобности в значениях атрибута. Тогда <токен, - >

Для определения токенов (для задания шаблонов) используются регулярные выражения.


Алфавит – конечное непустое множество символов.

Обычно алфавит обозначается символом .

Пример.

  1. бинарный или двоичный алфавит.
  2. множество строчных букв английского алфавита.

 

Строка над алфавитом конечная последовательность символов из алфавита .

Пример.

01101 – строка над алфавитом .

 

Синонимы термина «строка» - слово, предложение, цепочка.

 

Пустая строка – это строка, не содержащая ни одного символа. Пустая строка обозначается - .

 

Длина строки – количество символов в строке, с учетом их повторения.

Пример.

 

обозначение для множества всех строк длины , состоящих из символов алфавита .

Пример.

.

  1. независимо от алфавита .

 

Между и есть небольшое отличие. алфавит, множество всех строк единичной длины, построенных из символов алфавита .

 

Множество всех строк над алфавитом принято обозначать . По другому это множество можно записать в виде

Пример. . .

 

обозначение множества всех строк над алфавитом , кроме пустой строки, т.е.

 

 

Имеют место следующие равенства:

 

Пусть и строки.

Конкатенация строк и является строкой, сформированной путем дописывания строки

обозначение конкатенации строк и .

Пример.

.

.

 

Пустая строка – нейтральный элемент по отношению к операции конкатенация, т.е. для любой строки справедливо соотношение .

 

Язык – подмножество строк из .

Иначе: если алфавит и , то это язык над или в .

 

Примеры языков.

  1. . язык, состоящий из всех строк, в которых единиц следуют за нулями для некоторого :
    .
  2. . множество строк, содержащих поровну нулей и единиц:
    .
  3. язык, для любого алфавита .
  4. пустой язык в любом алфавите.
  5. язык, содержащий лишь пустую строку.

 

<== предыдущая лекция | следующая лекция ==>
Лексический анализ | Регулярные выражения
Поделиться с друзьями:


Дата добавления: 2013-12-14; Просмотров: 313; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.