ФЭНДОМ


Основы синтаксиса - это базовое понимание правил составления программ на gOrth.

БлокиПравить

Все программы в gOrth состоят из блоков. Каждый из блоков является озаглавленным набором лексем, который в последствии может быть выполнен. При загрузке программы на gOrth автоматически выполняется блок, названный begin. Начало блока состоит из пробела, двоиточия и написанным слитно с двоеточием называнием лексемы (например, " :block "). После этого пишутся лексемы. Окончание блока обозначается как точка с запятой, отделенная пробелами (" ; "). Слова, записанные между # - комментируются, то-есть - не выполняются.

Пример блока:

 :begin ; #comment#

Кроме этого, в gOrth есть также локальные блоки. Они не имеют названия и пишутся в квадратных скобках. Использовать их можно также, как и названия именованных блоков (в условиях, например).

:begin , 10 == [ "Entered number is equals 10" -> . ] if ;

 

ЛексемыПравить

Лексемами в gOrth называются выполняемые слова. Пишутся лексемы в блоках, справа-налево, разделяясь пробелами. Все слова, упомянутые в коде в виде выполняемых лексем - выполняются. Остальные - записываются в стек в текстовом виде.

Лексемы могут быть стандартными (привязанными к интерпретатору лексем "main", не требующими указания интерпретатора для выполнения) или дополнительными (привазанными к расширенным gOrth-интерпритаторам, пишущимся по принципу интерпретатор:лексема (например, " str:add ")).

Пример блока, содержащего лексемы:

 :begin "Hello, world!" -> . ;

СтекПравить

gOrth - конкатенативный язык программирования, использующий стек для хранения аргументов и возвращаемых значений операций. Работа со стеком происходит по принципу LIFO (Last in - first out), то-есть по принципу стопки тарелок: чтобы взять вторую сверху, нужно снять верхнюю.

ПеременныеПравить

Переменные - это именованные данные в gOrth. Запись и чтение данных в переменные осуществляется с помощью стека.

Пример:

10 var <- #Запись значения 10 в переменную var#


var -> #Чтение значения переменной var в стек#

Текстовые константыПравить

Текстовые константы - это текстовые данные, написанные в кавычках. В начале выполнения, все текстовые константы сохраняются в переменные, а названия этих переменных помещаются на места констант. По-этому, работа с текстовыми константами осуществляется по тому же принципу, что и с переменными.

Пример работы с текстовой константой:

 :begin "Hello, world!" -> . ;