Интерпретация

Включает в себя стандартный набор слов для управления интерпретацией.

Описание работы словаСостояние стека
const
Создает константу с именем name и значением q.
Смотри также описание

 
( q, name - )
const:
Создает константу с именем, прочитанным из входного потока, и значением q.

 
( q - )
:
Создает новое слово с именем, прочитанным из входного потока, и переводит интерпретатор в режим копиляции.
Смотри также описание

 
( - )
;
Заканчивает определение нового слова и переводит интерпретатор в режим исполнения.
Смотри также описание

 
( - )
@
Извлечь значение из объекта.

 

Вариант 1:
( key, q - q2 )
здесь q - Map, JphoObject или JphoScopeObject, key - ключ

Вариант 2:
( n, list - q2 )
здесь list - список (List), n - индекс целое число

Вариант 3:
( row, column, table - q2 )
здесь table - таблица JphoTable, row - индекс строки таблицы, column - индекс колонки таблицы

Вариант 4:
( att, q - q2 )
здесь q - объект, att - имя атрибута объекта
 
!
Записать значение в объект.

 

Вариант 1:
( v, key, q - )
здесь v - значение, q - Map, JphoObject или JphoScopeObject, key - ключ

Вариант 2:
( v, n, list - )
здесь v - значение, list - список (List), n - индекс целое число

Вариант 3:
( v, row, column, table - )
здесь v - значение, table - таблица JphoTable, row - индекс строки таблицы, column - индекс колонки таблицы
 
\
Удалить значение из объекта.

 

Вариант 1:
( key, q - )
здесь q - Map, JphoObject или JphoScopeObject, key - ключ

Вариант 2:
( n, list - )
здесь list - список (List), n - индекс целое число

Вариант 3:
( stack - )
удаляет все элементы из стека, здесь stack - JphoStack
 
size
Выложить в стек количество элементов в объекте.

 

Вариант 1:
( scope - n )
здесь scope - JphoScopeObject

Вариант 2:
( list - n )
здесь list - список (List)

Вариант 3:
( word - )
какое количество элементов в определении слова, здесь word - JphoWord

Вариант 4:
( s - )
длина строки, здесь s - Строка
 
use
После использования этого слова ключи/значения из переданного объекта используются, как переменные. Доступа к ранее определенным переменным нет.

 

Вариант 1:
( jobj - )
здесь jobj - JphoObject

Вариант 2:
( scope - )
здесь scope - JphoScopeObject

Вариант 3:
( hash - )
здесь hash - JphoHash
 
exec
Выполнить слово выложенное на вершине стека.

 

( word - )
здесь word - JphoWord
 
union
Выполняет объединение списков.

 

( list2, list1 - list )
здесь list1 - список (List), list2 - список (List),list - список результат объединения (List)
 
union?
Выполняет объединение списков с удалением одинаковых элементов.

 

( list2, list1 - list )
здесь list1 - список (List), list2 - список (List),list - список результат объединения (List)
 
\?
Удалить одинаковые элементы из списка.

 

( list1 - list )
здесь list1 - список (List), list - список результат операции (List)
 
picks
Выделить из строки подстроки, соответствующие шаблону.

 

( s, pattern - list )
здесь s - строка, pattern - REGEX строка, list - список подстрок
 
isdigit
Является ли это цифрой.

 

Вариант 1:
( char - ? )
здесь ? - boolean

Вариант 2:
( int - )
здесь ? - boolean

Вариант 3:
( s - )
здесь s - строка, размером = 1, ? - boolean
 
isletter
Является ли это буквой.

 

Вариант 1:
( char - ? )
здесь ? - boolean

Вариант 2:
( int - )
здесь ? - boolean

Вариант 3:
( s - )
здесь s - строка, размером = 1, ? - boolean
 
endsdigit
Заканчивается ли эта строка цифрой.

 

( s - ? )
здесь s - строка, ? - boolean
 
array2list
Конвертация из массива в список.

 

( array - list )
здесь array - массив, list - список
 
items
Выложить в стек список элементов в определении слова.

 

( word - list )
здесь word - JphoWord
 
clone
Клонирует объект и выкладывает его в стек. q1 - любой объект, реализующий метод clone().

 

( q1 - q2 )
 
lastn
На вершину стека помещается строка, содержащее имя последнего скомпилированного слова.

 
( - s )
lastw
На вершину стека помещается объект, представляющий последнее скомпилированное слово.

 
( - w )
immediate
Устанавливает признак немедленного исполнения для последнего определенного слова. Смотри также описание

 
( - )
/*
Открывает комментарий. Комментарий заканчивается словом */
Слово немедленного выполнения.

 
( - )
//
Комментарий до конца строки.
Слово немедленного выполнения.

 
( - )
word
Читает строку из входного потока, ограниченную строкой s, состоящую из одного символа, и выкладывает ее в стек.

 
( s - s1 )
worda
Читает слова из входного потока пока в прочитанном слове не будет содержаться подстроки s. Если b - boolean равен true, то сравнение наличия подстроки идет без учета прописные/строчные символы. В качестве результата в стек выкладываются: s1 строка полученная из сложения прочитанных слов (с учетом пробелов) до s, srest - подстрока из последнего прочитанного слова, следующая за строкой s. Если строка s не найдена, то srest равна null.

 
( s, b - s1, srest )
erase
Устанавливает режим удаления интерпретатора. Следующее во входном потоке слово или конструкция будут удалены.

 
( - )
^
Читает из входного потока слово или конструкцию и выкдадывает объект для этого слова word в стек.

 
( - word )
interpret
Интерпретирует строку s в соответствующем jfo (с версии слова 1.1).

 

Вариант 1:
( s - )
интерпретация в текущем Jfo

Вариант 2:
( s, jfo - )
интерпретация в jfo-instance
 
try
Интерпретирует строку s. Здесь: info - строка-сообщение, code - код ошибки.

 
Интерпретация без ошибок: ( s - "", 0 )
В случае ошибки: ( s - info, code )
try:
Интерпретирует строку за словом try:. Здесь: info - строка-сообщение, code - код ошибки.

 
Интерпретация без ошибок: ( - "", 0 )
В случае ошибки: ( - info, code )
try.
Отсылает в выходной поток строку c выводом кода и сообщения "try: code=..., ...".
Используется после слов try или try: Здесь: info - строка-сообщение, code - код ошибки.

 
( info, code - )
import
Интерпретирует файл с именем filename.

 
( filename - )
import:
Интерпретирует файл с именем, прочитанным из входного потока.

 
( - )
?import
Интерпретирует файл с именем filename, если он еще не был импортирован.

 
( filename - )
?import:
Интерпретирует файл с именем, прочитанным из входного потока, если он еще не был импортирован.

 
( - )
imports
Возвращает список - list, импортированных файлов.

 
( - list )
[
Включает режим компиляции. Слово немедленного исполнения.
Смотри также описание

 
( - )
]
Отключает режим компиляции. Слово немедленного исполнения. И в случае, если это слово не входит в конструкции ? или fоreach, то на вершину стека выкладывается скомпилированное слово, не имеющее имя.
Смотри также описание

 
( - w ) | ( - )
?
Если в стеке значение b - true , тогда выполняется первое слово во входном потоке, иначе - второе слово.
При этом конструкция [ ... ] считается одним словом.
Смотри также описание

 
( b - ... )
apply
В цикле выполняется слово word для итератора it.
Смотри также описание

 
( it, word - ... )
rapply
Запускает использование правил rules.
Смотри пример использования

 
( rules - )
while
В цикле выполняется слово word, пока в стеке после очередного шага не окажется false.
Смотри также описание

 
( word - ... )
foreach
Выполняется слово следующее во входном потоке за данным для итератора it.
При этом конструкция [ ... ] считается одним словом.
Смотри также описание

 
( it - ... )
pgen
Создает слово-цикл с именем name, которое при каждом исполнении в стек выкладывает последующее значение из списка list.
Смотри также описание

 
( list, name - )
pgen:
Создает слово-цикл с именем, прочитанным из входного потока, которое при каждом исполнении в стек выкладывает последующее значение из списка list.
Смотри также описание

 
( list - )
?null
Если в стеке значение q1 равно null, то в стеке остается объект q0, иначе q1.

 
( q1, q0 - q0 | q1 )
fence
Устанавливает метку ("забор") в текущем словаре, то есть запоминается слово скомпилированное последним.

 
( - )
remfence
Снимает метку ("забор") в текущем словаре.

 
( - )
forget
"Забыть" (фактически удалить) слова, начиная со слова wordname.

 
( wordname - )
forget:
"Забыть" (фактически удалить) слова, начиная со слова прочитанного из входного потока.

 
( - )
+caseignor
Включается режим игнорирования строчных и прописных букв. Смотри описание

 
( - )
-caseignor
Отключается режим игнорирования строчных и прописных букв. Смотри описание

 
( - )
remalter
Отменяет режим альтернативной компиляции.

 
( - )
alterword
Запускает альтернативную интерпретацию по словам входного потока. При этом будут находиться и исполняться только те слова в словарях, которые определялись после слова fence, если прочитанное в выходном потоке слово не найдено, то выполняется слово с имененем wordname.
Интерпретация заканчивается словом remalter.

 
( wordname - )
alterword:
Запускает альтернативную интерпретацию по словам входного потока. При этом будут находиться и исполняться только те слова в словарях, которые определялись после слова fence, если прочитанное в выходном потоке слово не найдено, то выполняется слово с имененем из входного потока.
Интерпретация заканчивается словом remalter.

 
( - )
alterline
Запускает альтернативную интерпретацию по строкам входного потока. При этом читается первое слово в строке, если такое слово не найдено после слова fence, то выполняется слово wordname входным параметром, которого является вся прочитанная строка.
Интерпретация заканчивается словом remalter.

 
( wordname - )
alterline:
Запускает альтернативную интерпретацию по строкам входного потока. При этом читается первое слово в строке, если такое слово не найдено после слова fence, то выполняется слово, прочитанное в входном потоке, входным параметром, которого является вся прочитанная строка.
Интерпретация заканчивается словом remalter.

 
( - )
awimport
Запускает альтернативную интерпретацию (по словам) файла с именем filename. При этом будут находиться и исполняться только те слова в словарях, которые определялись после слова fence, если прочитанное в выходном потоке слово не найдено, то выполняется слово с имененем wordname.
Интерпретация заканчивается словом remalter.

 
( wordname, filename - )
alimport
Запускает альтернативную интерпретацию (по строкам) файла с именем filename. При этом читается первое слово в строке, если такое слово не найдено после слова fence, то выполняется слово wordname входным параметром, которого является вся прочитанная строка.
Интерпретация заканчивается словом remalter.

 
( wordname, filename - )
newword
Создается новое слово без тела с именем wordname. Смотри также описание

 
( wordname - )
reword
Переопределяется уже определенное слово в слово без тела с именем wordname. Смотри также описание

 
( wordname - )
compile
Производится компиляция слова word или объекта q, как константы, в тело последнего определенного слова. Смотри также описание

 
( word - ) или ( q - )
compileto
Производится компиляция слова word или объекта q, как константы, в тело слова word2. Смотри также описание

 
( word, word2 - ) или ( q, word2 - )
rename
Производится переименование слова с имененм oldname в новое newname. Смотри также описание

 
( oldname, newname - )
synonym
Создается синоним с именем synname реализующий слово name. Смотри также описание

 
( name, synname - )
car
Для элемента тела слова item выложить в стек ссылку на скомпилированное слово word.

 
( item - word )
cdr
Для элемента тела слова item выложить в стек ссылку на следующий элемент item2.

 
( item - item2 )
setcar
Для элемента тела слова item установить ссылку на скомпилированное слово word.

 
( word, item - )
setcdr
Для элемента тела слова item установить ссылку на следующий элемент item2.

 
( item2, item - )
inject
Импортирует из Jpho-партнера менеджер данных с именем s.

 
( s - )
inject:
Читает из входного потока имя менеджера данных и импортирует его из Jpho-партнера.

 
( - )
wordin
Импортирует из Jpho-партнера слово с именем s.

 
( s - )
wordin:
Читает из входного потока имя слова и импортирует его из Jpho-партнера.

 
( - )