Образовательный портал Claw.ru
Всё для учебы, работы и отдыха
» Шпаргалки, рефераты, курсовые
» Сочинения и изложения
» Конспекты и лекции
» Энциклопедии

Одной из важных особенностей такого подхода к разбору строк является то, что анализ выполняется по мере считывания символов, с использованием информации о текущем символе и символах, прочитанных ранее. Это позволяет вести обработку данных, передающихся по некоторому последовательному каналу, непосредственно в процессе их поступления.

Фактически представленная функция выполняет две операции: выделяет в переданной строке синтаксические элементы (tokens) и определяет, что представляет собой данный элемент (имя тэга, имя атрибута, значение атрибута). Решение о том, чем является следующий элемент, принимается заранее, на основании данных о предыдущем элементе и простых правил: за именем тэга следует имя атрибута; за именем атрибута следует либо имя атрибута, либо символ '='; за символом '=' следует значение атрибута.

Процедуры, основанные на конечных автоматах, широко применяются для проверки синтаксиса. В качестве примера рассмотрим функцию CheckMath, выполняющую синтаксический анализ математического выражения:

function CheckMath(const S : String) : Integer;

type

  TState = (Start, InDigit, AfterDigit, InOp, InLPrnt, InRPrnt);

const

  resLPrntMissing = -1;

  resRPrntMissing = -2;

var

  State : TState;

  i, ParCount : Integer;

begin

  Result := 0;

  ParCount := 0; // счетчик скобок

  State := Start;

  for i := 1 to Length(S) do


Рекомендуем скачать другие рефераты по теме: курсовик, контрольные 10 класс.


Категории:




Предыдущая страница реферата | 2  3  4  5  6  7  8  9  10  11  12 |


Поделитесь этой записью или добавьте в закладки

   



Рефераты от А до Я