Разработать программу лексического анализа для языка программирования
Добавлено: 05 сен 2020, 11:00
Здравствуйте
Подскажите, пожалуйста, как делать вообще данное задание на С++?
Необходимо разработать программу по выполнению лексического анализа для языка программирования, удовлетворяющего ниже перечисленным требованиям.
Упрощенный язык программирования должен обязательно включать:
1. Оператор присваивания "=" и только одну из следующих арифметических операций:
+ ( сложение ),
- ( вычитание ),
* ( умножение ),
/ ( деление ),
++ ( логическое сложение ),
** ( логическое умножение),
%% ( сложение по модулю 2).
2. Один из следующих операторов:
• оператор цикла, построенный в соответствии с предложенным синтаксисом конструкции:
FOR <имя параметра цикла>=m TO n <тело цикла> NEXT;
• оператор цикла, построенный в соответствии с предложенным синтаксисом конструкции:
FOR <имя параметра цикла>=m TO n DO BEGIN <тело цикла>
END;
• условный оператор, построенный в соответствии с предложенным синтаксисом конструкции:
IF <условие> THEN BEGIN <операторы> END;
здесь <условие> задается одной из форм: a<b, либо a=b, либо a>b;
• оператор процедуры, построенный в соответствии с предложенным синтаксисом конструкции:
PROCEDURE <имя процедуры> BEGIN <тело процедуры> END
для вызова процедуры используется оператор
CALL <имя процедуры>;
3. Оператор вывода переменных
WRITE ( <список переменных через запятую> );
4. Программа языка имеет структуру
VAR <список переменных через запятую >: INTEGER
BEGIN <операторы программы> END
Подскажите, пожалуйста, как делать вообще данное задание на С++?
Необходимо разработать программу по выполнению лексического анализа для языка программирования, удовлетворяющего ниже перечисленным требованиям.
Упрощенный язык программирования должен обязательно включать:
1. Оператор присваивания "=" и только одну из следующих арифметических операций:
+ ( сложение ),
- ( вычитание ),
* ( умножение ),
/ ( деление ),
++ ( логическое сложение ),
** ( логическое умножение),
%% ( сложение по модулю 2).
2. Один из следующих операторов:
• оператор цикла, построенный в соответствии с предложенным синтаксисом конструкции:
FOR <имя параметра цикла>=m TO n <тело цикла> NEXT;
• оператор цикла, построенный в соответствии с предложенным синтаксисом конструкции:
FOR <имя параметра цикла>=m TO n DO BEGIN <тело цикла>
END;
• условный оператор, построенный в соответствии с предложенным синтаксисом конструкции:
IF <условие> THEN BEGIN <операторы> END;
здесь <условие> задается одной из форм: a<b, либо a=b, либо a>b;
• оператор процедуры, построенный в соответствии с предложенным синтаксисом конструкции:
PROCEDURE <имя процедуры> BEGIN <тело процедуры> END
для вызова процедуры используется оператор
CALL <имя процедуры>;
3. Оператор вывода переменных
WRITE ( <список переменных через запятую> );
4. Программа языка имеет структуру
VAR <список переменных через запятую >: INTEGER
BEGIN <операторы программы> END