Теория языков программирования и методы трансляции. Копейкин М.В - 8 стр.

UptoLike

2. Принципы проектирования интерпретатора
2.1. Синтаксический разбор выражений
2.1.1. Выражения
Выражения могут быть составлены из любых типов данных, но для
учебных целей (доходчивого понимания) предлагается ограничиться
разбором только числовых выражений[1]. В качестве элементов
выражения предлагается рассмотреть следующие:
числа 0 |1 | 2| 3| 4 | 5 | 6 | 7| 8| 9
операции + - * / ^ % = () <> ; .
латинские буквы
от А до Z.
Операция ^ введена для возведения в степень. Операция %
предусмотрена как деление нацело.
Операции выполняются в соответствии с приведенным приоритетом:
Высший ()
^
/ * %
+ -
Низший =
Операции равного приоритета выполняются слева направо.
Для переменных желательно ввести правило распознавания одного
символа разных регистров равнозначное, т.е. "а" и
"А" воспринимались
одинаково.
2.1.2. Лексемы
Выражения разбиваются на составные части (лексемы). Функция,
выполняющая разбор выражений, должна решать следующие действия:
- игнорировать пробелы и символы табуляции;
- извлекать каждую лексему из исходного текста;
- преобразовывать лексему во внутренний формат;
- определять тип лексемы.
Например, выражение А*В-( Х+10) содержит элементы "А", "*", "В
",
"-", "(", "Х", "+", "10", ")".
Каждая лексема имеет внутренний и внешний формат (см. табл. 3).
Внешний формат отражает содержательно действие, которое выполняет
данная лексема. Внутренний формат необходим для реализации
эффективного транслятора. Преимущество внутреннего формата
заключается в том, что выполнение любых операций над целыми числами