Clone
1
Конфигурация проекта
student edited this page 2025-10-31 10:03:52 +03:00
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Пример стандартной конфигурации

{
  "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.