Skip to content

monsier-chess/syntax_analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Синтаксический анализатор грамматики LL(1)

Поставленная задача

  1. Выражения значений функции t(x)=2*x в единичной системе счисления Правильные записи: s(1)=11; s(11)=1111; s(111)=111111

Уточнение задачи

Примеры:

  1. s(1)=11
  2. t(1)=11
  3. s(11111111)=1111111111111111
  4. t(1111)=11111111
  5. s(111)=111111

Контрпримеры:

  1. s()= – Отсутствие аргумента не допускается
  2. z(1)=11 – Использование любой другой буквы, кроме t и s - недопустимо
  3. s(11)=11111 – Не выполняется условие s(x) = 2x
  4. s(1)=2 – Числа должны быть представлены в единичной системе счисления
  5. s((1))=(11) – Не должно присутствовать лишних скобок
  6. Λ – Пустой ввод не является валидным

КС-Грамматика языка

В исходном виде

Начальный нетерминальный символ: <выражение>

<выражение> ::= <обозначение функции>(<оставшаяся часть>
<обозначение функции> ::= s | t
<оставшаяся часть> ::= 1<центр>11
<центр> = 1<центр>11 | )=

На латинице (для кода), соответственно:

Начальный нетерминальный символ: <vyrazhenie>

<vyrazhenie> ::= <oboznachenie_funkcii>(<ostavshayasya_chast>
<oboznachenie_funkcii> ::= s | t
<ostavshayasya_chast> ::= 1<center>11
<center> = 1<center>11 | )=

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages