·
101 commits
to master
since this release
Реализован новый препроцессор РуСи:
- Новый алгоритм позиционирования на основе
#lineс Си совместимостью - Полноценная поддержка многофайловости
- Добавлена поддержка
-Dфлага для определения макросов из консоли - Запрещены плавающие операции в выражениях препроцессора
- Все директивы теперь строго однострочные, за исключением блочных
- Поддержка переноса строки обратным слешем
- Поддержка отделения
#символа от имени директивы - Добавлены операторы препроцессора
#и##для однострочных макросов - Добавлена предварительная обработка аргументов вызова макроса
- Учтены области видимости аргументов
#macroдирективы - Контроль глубины подключения:
MAX_INCLUDE_DEPTH - Контроль глубины рекурсии вызовов:
MAX_CALL_DEPTH - Контроль количества итераций циклов:
MAX_ITERATION - Вычислитель на основе алгоритма Бауэра и Замельзона
Список директив препроцессора:
#include,#INCLUDE,#подключить,#ПОДКЛЮЧИТЬ#line,#LINE,#строка,#СТРОКА#define,#DEFINE,#определить,#ОПРЕДЕЛИТЬ#set,#SET,#переопределить,#ПЕРЕОПРЕДЕЛИТЬ#undef,#UNDEF,#разопределить,#РАЗОПРЕДЕЛИТЬ#macro,#MACRO,#макро,#МАКРО#endm,#ENDM,#конецм,#КОНЕЦМ#ifdef,#IFDEF,#еслибыл,#ЕСЛИБЫЛ#ifndef,#IFNDEF,#еслинебыл,#ЕСЛИНЕБЫЛ#if,#IF,#если,#ЕСЛИ#elif,#ELIF,#инесли,#ИНЕСЛИ#else,#ELSE,#иначе,#ИНАЧЕ#endif,#ENDIF,#конецесли,#КОНЕЦЕСЛИ#eval,#EVAL,#вычислить,#ВЫЧИСЛИТЬ#while,#WHILE,#пока,#ПОКА#endw,#ENDW,#конецп,#КОНЕЦП
Список операторов вычислителя по приоритетам:
- Унарные:
~,!,-,+
- Бинарные:
*,/,%+,->>,<<<,>,<=,>===,!=&|&&||