добавление wiki

student
2025-10-31 10:03:52 +03:00
parent 35e0cc8f4e
commit 334b720914

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