AL-IV - Detailed description

| RUSSIAN(Русский) | ENGLISH |  |
Эта функция использует куки. Если браузер не принимает куки, используется светлая тема.

## Введение

Здесь представлено описание программы IDE AL4, представляющего собой расширенный редактор кода языка AL-IV (АЛФОР).

## 1. Особенности редактора

### Две цветовые схемы: светлая и темная

### Цветные линии вложенных блоков по правому краю
Линии могут быть отключены или удалена раскраска линий цветом, см меню Вид | Показывать...

### Цвет ключевых слов блочных операторов соответствует цвету линий уровня вложенности
Для операторов `CASE` / `FOR`, цветовые уровни всегда одинаковые: зеленый, синий, коричневый/желтый (для темной схемы желтый). При попытке набрать оператор `CASE` / `FOR` четвертого уровня вложенности, он сразу приобретает отличающийся от прочих оливково-оранжевый цвет, что позволяет сразу обнаружить нежелательность введения этого оператора. Аналогично, одинаковый порядок цветов для операторов `PUSH` / `DEBUG` (но их больше, так как никаких ограничений на уровни вложенности этих операторов нет, кроме естественного ограничения на длину строки).
Чтобы линии отображались корректно, при вводе кода следует делать отступы (вложенный блок должен иметь большую индентацию по сравнению с охватывающим). Символ '`;`', завершающий блок, должен либо находиться в конце последнего оператора блока, либо с тем же отступом, что и оператор начала блока (т.е. визуально - в той же колонке, что и первый символ ключевого слова). Отступы могут быть сделаны табуляцией или пробелами. Одинаковость отступов не требуется для всех операторов уровня - достаточно иметь дополнительный отступ на операторе, начинающем новый вложенный блок. Так же компилятор требует, чтобы блочные операторы всегда начинались в новой строке кода.

### Увеличенный шрифт для заголовков функций, методов, классов, типов, блочных комментариев
Данное нововведение уникально (пока) для IDE AL4. Чтобы заголовок мог отображаться с увеличенным шрифтом, при его вводе следует обеспечивать как минимум одну пустую строку перед заголовком, и следить за длиной строки: если она превышает 40 символов, то, скорее всего, текст будет всегда отображаться с обычным размером шрифта (иначе он просто не войдет в ширину 80 колонок).
Кроме прочего, заголовок переходит в режим обычного шрифта, если каретка находится в строке заголовка, или в нем выделена часть текста.

### Нет всплывающих подсказок
Большинство редакторов, предлагающих авто-завершение кода, предлагают свои варианты (подсказки) в окнах, беспорядочно всплывающих прямо вблизи поля ввода, заслоняя окружающий текст, и мешая работать. В IDE AL4 для подсказок авто-завершения используется высокое узкое окно по правому краю. Для подсказок по параметрам функций используется нижнее окно, рассчитанное на пару строк текста (с уменьшением шрифта, при необходимости разместить больше информации - к счастью, в AL-IV имеется ограничение на число параметров, так что две строки должно обычно все-таки хватать).

### Быстрый поиск в прямом (F3) и обратном (F2) направлении
В большинстве текстовых редакторов и сред IDE, без вызова диалога поиска и щелканья в нем мышкой, практически невозможно от поиска вперед перейти к поиску в обратном направлении. В IDE AL4 предлагается использовать клавишу F2.

### Поиск с игнорированием пробелов
Данная опция позволяет несложным образом выполнять поиск по сочетаниям слов, если неизвестно точно количество пробелов / табуляций между этими словами. Возможно, еще более правильно было бы использование регулярных выражений (но не все знают синтаксис regexp, и не для всех он удобен).

### Поиск с игнорированием комментариев
Данная опция может быть полезна, например, для поиска еще не закомментированных операторов DEBUG. Полезно в сочетании с опцией игнорирования пробелов.

### Поддержка закладок как безымянных (CTRL-B, Ctrl-N), так и номерных (Ctrl-1, Ctrl-2, ...)

### Специальная операция Ctrl+/ для комментирования/раскомментирования блока
В AL-IV нет удобных для использования блочных комментариев (комментарии вида `*/ ... /*` удобными не являются, если код дуальный, т.е. вместо `...` записан код на другом языке программирования). Поэтому лучший способ закомментировать блок кода - это комментарии //до конца строки. Сочетание CTRL+/ позволяет автоматизировать эту операцию. Полезно для комментирования операторов `DEBUG`, например.

### Специальная операция Ctrl+' для закавычивания/раскавычивания выделенных строк кода
Механизм нативных функций AL-IV позволяет помещать строки кода целевого языка в текст функции в виде строковой константы. С операцией CTRL+' упрощается преобразование в строковую константу большой последовательности строк кода на соответствующем целевом языке: достаточно выделить строки кода и нажать эту пару клавиш. Так же, возможна и обратная операция.

### Индентация в коде пробелом и табуляцией и Shift+проблом и Shift+табуляцией
Для иcправления индентации на одну табуляцию следует выделить код и нажать TAB (или Shift+TAB - для уменьшения уровня индентации). Для индентации по одной позиции вправо/влево используются ПРОБЕЛ и Shift+ПРОБЕЛ. Для строк кода (обычно нативного), заключенного в "кавычки" или ''двойные апострофы'', индентация с пробелом работает без сдвигания (по возможности) самих кавычек.

## 2. Сборка редактора
Сборка IDE не представляет особой сложности. Необходимо запустить командный файл, отвечающий за сборку на желаемой платформе, предварительно настроив работоспособность соответствующего компилятора (см. файл "about compilers - read me!.txt" в папке AL4). Например, при наличии установленной в системе .NET 3.5 для компиляции C#-версии достаточно обеспечить переменную среды AL4 с путем на месторасположение папки AL-IV\AL4 в качестве значения. Для компиляции под Java, Delphi или C++ необходимо так же установить соответствующий компилятор, и, возможно, какие-то дополнительные компоненты.

## 3. Загрузка

### Только исходный код IDE AL-IV
ССЫЛКА

### Собранный бинарный код IDE AL-IV (C#.NET)
ССЫЛКА

## Содержание

`` В начало