29376

Принципы работы сканера

Доклад

Информатика, кибернетика и программирование

Синтаксис целых констант представляется: целое ::=цифра знак цифра целое цифра знак ::= Для представления грамматики состояния целых констант диаграмма имеет вид:Вершины соответствуют состояниям автомата и определяются нетерминальными символами. Построим диаграмму состояний для автомата который распознает лексемы трех типов: целые константы десятичные константы идентификаторы идентр ::=буква идентр буква идентр цифра десятичная константа: дес.число цифра смеше число цифра смеше число ::= целое целое ::=цифра знак цифра целое цифра...

Английский

2013-08-21

95.5 KB

0 чел.

12) Принципы работы сканера.

Синтаксис отдельных лексем описывается, главным образом, с использованием регулярных грамматик. Для них продукция имеет следующую форму:
А→а|Ва или А→а|аВ
а – терминальные символы, А,В – нетерминальные
Функционирование сканера базируется на грамматическом описании лексем, в основе построения сканера лежит конечный автомат, соответствующий используемой грамматике.
Конечный автомат – математическая машина, которая определяется множеством возможных состояний, множеством возможных переходов между состояниями и множеством возможных символов, управляющих этими переходами.
Геометрическое функционирование конечного автомата можно задать графовой моделью, которая называется диаграммой состояния.
Пример. 
Синтаксис целых констант представляется:

<целое>::=цифра|<знак>цифра|<целое>цифра
<знак>::= +|-
Для представления грамматики состояния целых констант диаграмма имеет вид:

Вершины соответствуют состояниям автомата и определяются нетерминальными символами. Дуги описывают возможные переходы между состояниями и соответствуют продукции грамматики.
Для заданной грамматики определяются следующие лексемы:
1) каждому нетерминальному символу сопоставляется вершина графа с соответствующим именем
2) добавляется дополнительная вершина, соответствующая начальному состоянию автомата с именем Старт
3) каждому правилу вывода следующего вида А→а сопоставляется дуга, связывающая вершины Старт и А, которая помечается терминальным символом а
4) каждой продукции А→Ва сопоставляется дуга 
, которая также помечается терминальным символом а
Распознавание лексем с использованием диаграмм состояний конечного автомата осуществляется следующим образом:
1) исходным состоянием является состояние Старт
2) последовательно сканируются (считываются) символы входной цепочки и в соответствии с очередным считывающимся символом выполняется переход автомата в следующее состояние. Этот переход происходит из текущей вершины в то состояние ( вершину), в которую направлена дуга, помеченная символом, совпадающим со считанным символом входной цепи.
3) Переходы между состояниями продолжаются до остановки автомата, которая происходит в двух случаях:
• Считаны все символы входной цепочки
• Переход в следующее состояние невозможен, т.к. не найдена дуга, помеченная считанным символом.
В итоге лексемы будут распознаны, если работа автомата заканчивается в состоянии, соответствующем начальному символу грамматики. На диаграмме эта вершина выделена 

По мере считывания символов входной цепочки фиксируется символ, на котором автомат начинает работу ( выходит из состояния Старт) и на котором заканчивает работу, т.е. останавливается. 
Сама лексема состоит из тех считанных символов, начиная с которых автомат вышел из сосояния старт и до символа, на котором автомат завершил работу. 

Построим диаграмму состояний для автомата, который распознает лексемы трех типов: целые константы, десятичные константы, идентификаторы

<идент-р>::=буква|<идент-р>буква|<идент-р>цифра



десятичная константа:

<дес.число>::=<дес.число>цифра|<смеш-е число>цифра
<смеш-е число>::=<целое>
<целое>::=цифра|<знак>цифра|<целое>цифра
<знак>::=+|-


С точки зрения процесса трансляции в целом, сканер может быть реализован в двух вариантах:
1) сканер выполняет полный лексический анализ всей программы и формирует эквивалентную последовательность лексем, которая потом используется на фазе синтаксического анализа

2) сканер выполняется в виде подпрограмм, к которым обращается синтаксический анализатор, когда требуется очередная лексема для грамматического разбора

Применение второго варианта часто является более предпочтительным, т.к. не требуется хранить всю исходную программу, представленную в виде последовательности лексем.


 

А также другие работы, которые могут Вас заинтересовать

43596. Экспериментальное исследование эффективности методики развития физических качеств дошкольников 5.19 MB
  Теоретическое обоснование проблемы развития физических качеств детей дошкольного возраста в процессе физической подготовленности. Характеристика и сущность изучения развития физических качеств. Двигательные навыки и возрастные анатомофизиологические особенности развития детей дошкольного возраста. Экспериментальное исследование эффективности методики развития физических качеств дошкольников.
43597. Механизмы реализации государственной политики КАБАНСКОГО ДРСУ ФГУП «БУРЯТАВТОДОР» 41.13 KB
  Кабанское дорожное ремонтно-строительное управление является обособленным подразделением Государственного унитарного предприятия по подрядному строительству, ремонту и содержанию автомобильных дорог Республики Бурятия «Бурятавтодор» без прав юридического лица.
43598. Охорона праці. Методичні вказівки 83.92 KB
  Наведені структура та зміст мають загальний характер. В залежності від теми дипломної роботи (дисертації) та специфіки його виконання консультант з охорони праці видає індивідуальні завдання, в яких більш докладно розглядаються найбільш актуальні питання охорони праці за відповідними пунктами розділу.
43599. Педагогічні арт-технології виховання у студентської молоді культури користування кіберпростором 123.51 KB
  Враховуючи актуальність проблеми, її недостатню наукову розробленість, а також орієнтуючись на запити практики, визначена тема бакалаврського дослідження: «Використання арт-теропії в процесі розвитку у студентської молоді культури користування кіберпростором»
43600. Використання магнітних полів для визначення параметрів напівпровідникових матеріалів та структур 1.67 MB
  Електроніка в даний час є одним з найбільш домінуючих рушіїв технічного розвитку сучасного суспільства. Крім традиційно електронних галузей техніки – телекомунікації, інформаційно–вимірювальної та обчислювальної техніки чи спецтехніки, електронні прилади та пристрої на їх основі стали важливими засобами розвитку біології, медицини
43601. МЕРOПРИЯТИЯ ПO УЛУЧШЕНИЮ ЭФФЕКТИВНOСТИ УПРAВЛЕНИЯ КAПИТАЛОМ НА ИП ЗИНИНA А.И 233.92 KB
  3 Кoнцепции упрвления кпиталом нализ сoстава и структуры кпитала предприятия. Пoлучение прибыли на сегoдня этo результт првильных решений o прoпорциях влoжения кпитала принятых дo нчала oперационной деятельнoсти предприятия. Oт тoго как испoльзуется кпитал звисит величин прибыли предприятия следовательнo и егo дльнейшее рзвитие. В связи с этим oсобое знчение приoбретает исследoвание прoблем связнных с пoвышением эффективнoсти использoвания кпитала предприятия тк кк движение стoимости ресурсoв и их кругooборот станoвятся...
43602. Управление техническим состоянием осуществляется на основе научно обосновательной системой технического обслуживания и ремонта СПК «Петровщина» 208.78 KB
  СПК «Петровщина» был организован в 40-х годах в западной части Глубокского района Витебской области. Сельскохозяйственный производственный кооператив был создан путем реорганизации колхоза «Победа» на основании решения Глубокского райисполкома.
43603. ФОРМУВАННЯ РЕКЛАМНОЇ КАМПАНІЇ ТУРИСТИЧНОЇ АГЕНЦІЇ 49.16 KB
  Розрахунки необхідного бюджету для проведення рекламної кампанії ВИСНОВКИ ПЕРЕЛІК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ ДОДАТКИ РОЗДІЛ 1 СУЧАСНІ ТЕОРЕТИЧНІ ТА МЕТОДИЧНІ СКЛАДОВІ РЕКЛАМНОЇ КАМПАНІЇ В ТУРИСТИЧНОМУ БІЗНЕСІ Нині одним з найпоширеніших засобів стимулювання попиту на різні види продукції і послуги є реклама. Проте для багатьох організацій чисто інформативна реклама має другорядне значення. На стадії спаду реклама в основному недоцільна виключаючи необхідність інформування про розпродажі товарів. Спочатку реклама потрібна для того щоб створити...
43604. Дослідження історії і методологічних основ формування поглядів на простір і час 338.51 KB
  Дослідження методологічних підходів до формування понять матерії, простору і часу в історичному їх розвитку є цікавим і науково важливим, оскільки вся фізична наука будувалася і будується в наш час з урахуванням сформованих на кожному історичному періоді поглядів на ці філософські категорії.