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