Добро пожаловать, здесь я программирую бессмысленно и беспощадно
ExBAT - расширенная версия Batch
Запись от nekit270 размещена 17.09.2023 в 23:35
Мне тут нечем заняться было, и я решил написать на C# расширение bat-языка, которое компилируется в обычный bat-файл. 1. Работа с компилятором 1.1. Компиляция Код:
exbat.exe --compile source.exb output.bat Код:
exbat.exe --run source.exb 2.1. Комментарии В качестве символов начала комментария допустимы:
Пример:
Переменные можно использовать с использованием $ (как в bash) Пример:
В ExBAT можно определять функции и вызывать их. Определение функции начинается с оператора function имя_функции(аргументы, через, запятую) и заканчивается оператором end function В коде функции можно использовать конструкцию $имя_аргумента вместо номера аргумента (%~номер_аргумента )Вызвать функцию можно с помощью такой конструкции: имя_функции(аргументы, через, запятую) Для маркировки, что аргумент - имя переменной, куда функция записывает результат выполнения, можно использовать модификатор out (это никак не влияет на выполнение и создано для того, чтобы код выглядел понятнее): pow(5, 2, out result) Пример:
В ExBAT доступно inline-вычисление математических выражений с помощью оператора calc{выражение} .Пример:
Оператор if был изменен, чтобы выглядеть более наглядно:
Пример:
Для подавления вывода в ExBAT можно использовать следующие операторы:
2.7. Макроподстановки Можно использовать макроподстановки с помощью оператора define(имя, значение) .Пример:
Оператор include(имя_библиотеки) позволяет подключать к ExBAT-скрипту библиотеки.Пока их можно подключить только из [путь_к_компилятору]\lib , но планируется добавление возможности подключать их из любого места.Пример:
3. Ссылки на скачивание P.S. Что думаете, у данного инструмента есть смысл и шанс выжить? Пишите в комментариях. |
Всего комментариев 6
Комментарии
-
Запись от AlexProgramm размещена 18.09.2023 в 10:05 -
Запись от AlexProgramm размещена 18.09.2023 в 11:36 -
Цитата:
Запись от nekit270 размещена 18.09.2023 в 12:19 -
Запись от nekit270 размещена 18.09.2023 в 12:21 -
Запись от AlexProgramm размещена 18.09.2023 в 13:36 -
Запись от nekit270 размещена 18.09.2023 в 15:53