Программа на pgoblin
состоит из блоков.
Перед первым блоком программы на pgoblin
могут быть строчки комментариев, если они синтаксически отличаются
от программы.
Каждый блок состоит из целого числа строк.
Начало или конец файла внутри блока быть не может. Начало и конец строки может быть помещено в блок.
Признаком начала блока служит последовательность символов,
которая далее будет называться признак
.
Эта последовательность распознается как признак
только в начале строки.
Строка, которая начинается с признак
а,
называется командной строкой, остальные строки блока, если есть,
называются литералом.
Последний конец строки перед следующим блоком не является частью литерала.
Если командная строка состоит из признак
а,
за которым следует пробел, то соответствующая команда является пустой.
Если непосредственно перед последовательностью пустых команд стоит
команда, которая потребляет Pq
регистром управления, и использован 0
й
регистр управления, то литералы таких пустых команд используются предшествующей
командой. Во всех остальных случаях литералы пустых команд по сути
являются комментариями.
Командная строка содержит
признак
[0-9a-zA-Z_]
,
имена участвующих в команде регистров. Если регистр не указан,
то используется регистр по умолчанию - 0
.
#
, -
или ;
Литерал может быть у любой команды, даже если он ей не нужен.
Такой аргумент по сути является комментарием.
Если внутри текстового аргумента надо иметь строку, начинающуюся
с признак
а, то к ней
в начало строки нужно добавить еще один признак
.
Уровень вложенности литералов неограничен, на каждом уровне прибавляется
по одному признак
у в начало строки.
В текущей версии признак
не может
быть иным, кроме одного символа #
.
В будущих версиях этот символ будет признак
ом
по умолчанию.
Пример правильной программы на pgoblin
,
в которой нет ни одного полезного оператора:
|