Перейти к содержимому
falang.ruEN

Проекты с кодом

В проекте с кодом алгоритм рисуется схемой, в иконках которой записан обычный исходный код на одном языке. Falang этот код не проверяет и не переводит: он раскладывает управляющую логику (условия, циклы, выходы) и собирает текст иконок в файл исходного кода. Так можно спроектировать или задокументировать алгоритм наглядно и всё равно получить файл, который компилируется.

Язык выбирается при создании проекта — Код (C++), Код (JavaScript), Код (TypeScript), Код (PHP) или Код (Rust). В одном проекте один язык. Схем в нём может быть сколько угодно, в том числе в папках; новый проект начинается с одной схемы Main.

Каждое поле — это обычный исходный код на языке проекта, с подсветкой синтаксиса.

  • Функция — сама схема. Её верхний блок — заголовок функции, целиком (например, int main() или fn main()); нижний блок — завершающий код, который пишется последним (например, return 0;). Из имени схемы ничего не генерируется.

  • Действие — один или несколько операторов; можно в несколько строк.

  • Если и Пока — только условие, без ключевого слова и скобок: x > 0. Пункт «Поменять true/false» в контекстном меню меняет, какая ветка считается «истинной».

  • Переключатель — значение, по которому идёт выбор; в каждом варианте — его значение. Вариант со значением default становится веткой по умолчанию.

  • Для каждого — весь заголовок цикла в синтаксисе языка, например for (const x of items), for x in items или foreach ($items as $x).

  • Цикл — без поля: тело выполняется один раз, а Продолжить внутри него запускает его снова.

  • Прервать, Продолжить, Возврат (с необязательным значением) и Исключение (со значением) — предлагаются в конце ветки или тела цикла, см. Основы работы со схемами.

Код не проверяется: при наборе нет отметок об ошибках, и ошибка обнаружится только при компиляции сгенерированного файла.

Выберите Проект → Экспортировать документы кода. Каждая схема проекта становится одним файлом в папке generated проекта и называется по схеме (generated/Main.cpp, Main.rs, …). Все файлы попадают в эту одну папку, в каких бы папках ни лежали схемы; символы, недопустимые в имени файла, заменяются на _, а к повторяющемуся имени добавляется короткий суффикс. Показывается окно с ходом выполнения и кнопкой Отмена; ошибка в одной схеме не останавливает остальные. Файлы создаются только этой командой, не при сохранении.

Схема превращается в заголовок, затем блок с её иконками и завершающим кодом:

int main()
{
if (x > 0) {
printf("yes\n");
} else {
continue;
}
while (i < 10) {
i++;
break;
}
return 0;
}
  • C++, JavaScript, TypeScript и PHP используют общую C-подобную форму выше. Переключатель становится switch, где каждый вариант — в своём блоке { } и без автоматического break; — выход нужно поставить самому. Цикл становится while (true) { … break; }. Блок else пишется всегда, даже если его ветка пуста.

  • Файлы PHP обёрнуты в <?php … ?>.

  • Rust: условия без скобок (if x > 0 {), Переключатель становится match, а default пишется как _, Цикл становится loop { … break; }, Исключение — panic!(…).

  • Прервать и Продолжить всегда относятся к ближайшему циклу; выходы из внешних циклов с номером в проектах с кодом недоступны.

В проектах с кодом работают те же ИИ-агент, доступ для агентов-программистов, история версий и экспорт в PDF, что и в других проектах десктопного приложения.