Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
бАКАЛАВР_РАБОТА.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.13 Mб
Скачать

2Обзор существующих систем и обоснование выбора инструментальных средств и класса грамматики

В языках моделирования гибридных систем LISMA, MODELIKA, MVSи других не встречался способ символьной спецификации динамических систем повышенной размерности, допускающий алгоритмическое задание правых частей системыдифференциальных уравнений.

Ранее для построения моделей такого рода систем предметный пользователь либо тратил много времени на ввод однотипных уравнений, либо для конкретной системы создавалась исполняемая модель на языкепрограммирования [11].

2.1 Обзор существующей символьной спецификации моделей гс в среде исма

Рассмотримспецификацию лексем, порождающей грамматики и семантические действиясуществующего языкового процессора ИСМА.

2.1.1 Лексемы языка исма

Терминальный алфавит языка ∑LISMA содержит следующие классы терминальных символов: буква (<letter>, l), цифра (<digit>, d), остальные допустимые символы (<other>). Перечисленные классы символов задаются правилами:

<letter> => ‘a’|‘b’|‘c’|‘d’|‘e’|‘f’|‘g’|‘h’|‘i’|‘j’|

‘k’|‘l’|‘m’|‘n’|‘o’|‘p’|‘q’|‘r’|‘s’|‘t’|

‘u’|‘v’|‘w’|‘x’|‘y’|‘z’|‘A’|‘B’|‘C’|‘D’|

‘E’|‘F’|‘G’|‘H’|‘I’|‘J’|‘K’|‘L’|‘M’|‘N’|

‘O’|‘P’|‘Q’|‘R’|‘S’|‘T’|‘U’|‘V’|‘W’|‘X’|

‘Y’|‘Z’|‘_’

<digit> => ‘0’|‘1’|‘2’|‘3’|‘4’|‘5’|‘6’|‘7’|‘8’|‘9’

<other> => ‘>’|‘<’|‘=’|‘!’|‘[’|‘]’|‘(’|‘)’|‘.’|‘,’|

‘;’|‘’’|‘~’

Типы лексем языка LISMA, соответствующие им регулярные выражения и обозначения приведены в таблице 2.1.

Таблица 2.1 – Регулярные конструкции языка LISMA

Описание лексемы

Обозначение

Регулярное выражение

Пример

Буква

l

a | … | z | A | … | Z | _

a, b, c, D, E, F

Цифра

d

0 | … |9

0, 1, 2

Идентификатор

i

l (l | d)*

x, var2, _in

Число без знака

u

d+ [. d+] [(E | e) [(+ | -)] d+]

22, 22.5, 22.5E-3

Знак арифметического действия

a

+ | * | /

+, *

Знак

логической операции

o

!= | <> | (> | < | =) [=]

>, <=, =

Разделитель параметров функции

c

,

,

Признак

конца предложения

e

;

;

Открывающая круглая скобка

b

(

(

Закрывающая круглая скобка

f

)

)

Открывающая квадратная скобка

g

[

[

Закрывающая квадратная скобка

h

]

]

Признак уравнения

j

‘ | ~

‘, ~

Знак равенства

k

=

=

Минус

m

-

-

Бинарные

булевы функции

x

and | or

and, or

Унарные

булевы функции

y

Not

not

Ключевое слово

n

Const

const

Ключевое слово

p

Macro

macro

Ключевое слово

q

If

if

Ключевое слово

r

Then

then

Ключевое слово

t

Endif

endif

Ключевое слово

v

Is

is

Ключевое слово

w

From

from

Терминальный (основной) алфавит на входе синтаксического анализатора представлен множеством:

LISMA={a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, t, u, v, w, x, y}.