добавление wiki
@@ -1,65 +1,65 @@
|
|||||||
## Пример стандартной конфигурации
|
## Пример стандартной конфигурации
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"unicode": true,
|
"unicode": true,
|
||||||
"tape_size": 30000,
|
"tape_size": 30000,
|
||||||
"load_dump": "data_in.bin",
|
"load_dump": "data_in.bin",
|
||||||
"save_dump": "data_out.bin",
|
"save_dump": "data_out.bin",
|
||||||
"sources": [
|
"sources": [
|
||||||
"example/hw.bf"
|
"example/hw.bf"
|
||||||
],
|
],
|
||||||
"compiled": "bin/hw.bfc",
|
"compiled": "bin/hw.bfc",
|
||||||
"lint": [
|
"lint": [
|
||||||
{
|
{
|
||||||
"name": "brackets",
|
"name": "brackets",
|
||||||
"level": "error",
|
"level": "error",
|
||||||
"expected": "=1"
|
"expected": "=1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "operators",
|
"name": "operators",
|
||||||
"level": "warning",
|
"level": "warning",
|
||||||
"expected": "=1"
|
"expected": "=1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "loop_depth",
|
"name": "loop_depth",
|
||||||
"level": "warning",
|
"level": "warning",
|
||||||
"expected": "<=100"
|
"expected": "<=100"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "loop_depth",
|
"name": "loop_depth",
|
||||||
"level": "error",
|
"level": "error",
|
||||||
"expected": "<=255"
|
"expected": "<=255"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pointer_balance",
|
"name": "pointer_balance",
|
||||||
"level": "error",
|
"level": "error",
|
||||||
"expected": "<0"
|
"expected": "<0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pointer_balance",
|
"name": "pointer_balance",
|
||||||
"level": "warning",
|
"level": "warning",
|
||||||
"expected": ">30000"
|
"expected": ">30000"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Параметры
|
## Параметры
|
||||||
|
|
||||||
* `unicode` - добавляет в brainfuck поддержку UTF-8 символов за счёт увеличения размера ячеек с byte до uint.
|
* `unicode` - добавляет в brainfuck поддержку UTF-8 символов за счёт увеличения размера ячеек с byte до uint.
|
||||||
* `tape_size` - позволяет указать количество ячеек в ленте.
|
* `tape_size` - позволяет указать количество ячеек в ленте.
|
||||||
* `load_dump` и `save_dump` - позволяют сохранять и загружать состояние ленты.
|
* `load_dump` и `save_dump` - позволяют сохранять и загружать состояние ленты.
|
||||||
* `sources` - список путей к файлам и папкам с исходным кодом.
|
* `sources` - список путей к файлам и папкам с исходным кодом.
|
||||||
* `compiled` - путь к файлу промежуточной компиляции.
|
* `compiled` - путь к файлу промежуточной компиляции.
|
||||||
* `lint` - фильтры проверки кода. См ниже.
|
* `lint` - фильтры проверки кода. См ниже.
|
||||||
|
|
||||||
## Линтер
|
## Линтер
|
||||||
|
|
||||||
Набор функций проверяющих код перед сборкой промежуточного файла. Могут выводить значения метрик, предупреждения и ошибки, прерывающие процесс.
|
Набор функций проверяющих код перед сборкой промежуточного файла. Могут выводить значения метрик, предупреждения и ошибки, прерывающие процесс.
|
||||||
|
|
||||||
### Список фильтров
|
### Список фильтров
|
||||||
* `brackets` - проверяет скобки в коде на колличество и расположение.
|
* `brackets` - проверяет скобки в коде на колличество и расположение.
|
||||||
* `operators` - проверяет соответствие кода и набора допустимых символов.
|
* `operators` - проверяет соответствие кода и набора допустимых символов.
|
||||||
* loop_depth` - проверяет максимальную глубину цикла.
|
* loop_depth` - проверяет максимальную глубину цикла.
|
||||||
* `pointer_balance` - проверяет максимальный сдвиг указателя. При выходе за ленту в меньшую сторону возвращает `-1`.
|
* `pointer_balance` - проверяет максимальный сдвиг указателя. При выходе за ленту в меньшую сторону возвращает `-1`.
|
||||||
Reference in New Issue
Block a user