Читать курсовая по Отсутствует: "Синтаксический анализатор" Страница 2

назад (Назад)скачать (Cкачать работу)

Функция "чтения" служит для ознакомления с работой. Разметка, таблицы и картинки документа могут отображаться неверно или не в полном объёме!

или процесса обработки данных.

Для описания синтаксиса языков программирования наибольшее распространение получила форма Бэкуса-Наура и ее различные модификации

Форма Бэкуса-Наура

Форма Бэкуса-Наура (БНФ) представляет собой очень естественный способ описания синтаксиса. В БНФ каждое определяемое понятие - это металингвистическая переменная. Значением металингвистической переменной может быть любая конструкция из некоторого фиксированного для этого понятия набора конструкций. Каждая металингвистическая форма определяет одну металингвистическую переменную и состоит из двух частей: левой и правой. В левой части записывается определяемая металингвистическая переменная, которая заключается в угловые скобки '' (предполагается, что эти скобки являются метасимволами и не принадлежат алфавиту определяемого языка), например: , , . В правой части формы записываются все варианты определения конструкции, задаваемой этой формой. Каждый вариант представляет собой цепочку основных символов определяемого языка и металингвистических переменных. Варианты разделяются металингвистической связкой '|', имеющей смысл «или». Левая и правая части формы разделяются метасимволом ':=', означающим «по определению есть».

На практике для описания синтаксиса языков программирования часто используют расширения БНФ, позволяющие более естественно представлять альтернативные, необязательные и повторяющиеся части металингвистических формул. Так, одно из расширений БНФ (РБНФ) разрешает использовать следующие упрощения:

1. необязательные элементы синтаксической конструкции заключаются в квадратные скобки ' [' и ']';

2. альтернативные варианты могут в случае необходимости заключаться в квадратные скобки для образования многовариантного выбора;

. элементы синтаксической конструкции, повторяющиеся нуль и более раз, заключаются в фигурные скобки ' {' и '}'.

Форма Бэкуса-Наура для задания :=[program ] {;}.

:=|||

:= label {,}

:=|

:= type {;}

:==

:=

:=||

:=integer|char|

:=

:=string

:=..

:= const {;}

:==

:=

:=|

:= var {;}

:= :

:= {,}

:=

:= begin end

:={;}

:= [метка:]

:= |||||||

:=:=

:= read ()

:= write ()

:={,}

:= goto

:=if then [else ]

:= repeat until

:=

:= ||||||

:=length ()

:=concat (,)

:=replace (,,)

:=pos (,)

:=StrChar (,)

:= copy (,,)

:= Same (,)

:=

:=

:=

:=ε


Интересная статья: Основы написания курсовой работы