Язык описания астрологических формул применяется для формализованного описания связей элементов натальной карты. Такое описание используется в блоке поиска карты по заданному условию в базе данных, в блоке сканирования времени для поиска времени реализации заданного события, а также в интерпретаторе (универсальная интерпретация) для более точного синтеза интерпретации заданной карты.
Примеры
1) Пусть необходимо найти карты в базе данных, для которых удовлетворяется условие: Солнце в Овне, Марс в соединении с Сатурном и Меркурий в секстиле или трине с Юпитером. Запись формулы при этом будет такой:
SO.ARI & MA.0.SA & ME.SXT,TRI.JU
можно записать и так, если Вы предпочитаете русский:
Сол.Овен & Марс.0.Сатурн & Мерк.60,120.Юпитер
2) Директный Марс в соединении с Регулом, Луна в соединении с Купидоном, Солнце в 1-м доме:
MA.D & MA.REGULUS & MO.0.CU & SO.H1 или
Марс.D & Марс.Регул & Луна.0.Купидон & Сол.Д1 (название звезды пишется на русском или на английском, согласно каталогу звёзд ZET)
3) Одинокий Сатурн в 7 доме при пустом 5 в карте мужчины (показатель бездетности):
^SO-JU.H7 & ^UR-PL.H7 & SA.H7 & ^SO-PL.H5 & MALE
4) Меркурий в соединении не меньше, чем с двумя планетами:
// макрос (определение множества)
PP = PL,KN,LI;
// использование переменных
x1 := ME.0.SO & ME.0.MO-PP;
x2 := ME.0.MO & ME.0.VE-PP;
x3 := ME.0.VE & ME.0.MA-PP;
x4 := ME.0.MA & ME.0.JU-PP;
x5 := ME.0.JU & ME.0.SA-PP;
x6 := ME.0.SA & ME.0.UR-PP;
x7 := ME.0.UR & ME.0.NE-PP;
x8 := ME.0.NE & ME.0.PP;
x9 := ME.0.PL & ME.0.KN,LI;
x10 := ME.0.KN & ME.0.LI;
// основная формула
x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | x10
То же самое можно сделать гораздо короче, используя численные переменные:
PP = SO-PL,KN,LI;
n ::= ME.0.PP;
n >= 2
5) Найти всех поэтов в базах данных SADC:
"POET"
Синтаксис
Формула состоит из:
- макросов,
- описаний переменных,
- логических выражений, соединённых логическими операциями И, ИЛИ, НЕТ,
- строк,
- комментариев.
Логические операции обозначаются символами "&", "|", "^" соответственно.
Операции "&" и "|" равноправны, т.е. выполняются в формуле последовательно в порядке появления. Возможно использование круглых скобок в сложном логическом выражении.
Например, выражение a & (b | (c & d))) означает следующую последовательность действий:
x1 = c & d
x2 = b | x1
x3 = a & x2
Логическое выражение может быть:
- функцией,
- логической переменной,
- арифметическим выражением.
Функция
Это описание астрологической констелляции, например:
SO.Sco
ME.Sqr.MA
Результатом функции является "да" или "нет", если она используется в логическом выражении или в определении логической переменной, или число, если она используется в определении численной переменной.
Логическая переменная
Определение логической переменной (присвоение ей значения):
например, x6 := ME.0.SA;
Синтаксис выражения для присвоения значения логической переменной:
<имя> := <функция>;
Использование логической переменной в формуле:
например, SO.Lib & x6
Другой пример:
SF := Солнце.Овен,Лев,Стрелец;
SF & Луна.Рыбы // Солнце в знаках Огня и Луна в знаке Рыб.
Переменную можно однократно определить в заголовке формулы (или текста универсальной интерпретации), а затем, многократно использовать в формуле (или формулах интерпретационного текста).
Арифметическое выражение
Состоит из численных переменных и констант, связанных операцией сравнения, например:
n == 1
В арифметическом выражении используются следующие операции:
== - равно,
<> - не равно,
> - больше,
< - меньше,
>= - больше или равно,
<= - меньше или равно.
Арифметические операции
Состоят из численных переменных и констант, связанных символами + (плюс), - (минус), * (умножить), / (разделить). Например:
x ::= a+1; // вычисление численной переменной x
a*2 >= b // определение значения арифметического выражения (результат "Да" или "Нет").
Численная переменная
Определение численной переменной (присвоение ей значения):
например, n ::= SO-PL.0.SA; // число планет, находящихся в соединении с Сатурном.
Синтаксис выражения для присвоения значения численной переменной:
<имя> ::= <функция>;
Использование численной переменной в формуле:
например, SO.Lib & n > 2
Операции с множествами
Выделение подмножества из заданного множества (/=). Например:
PP = SO-PL;
p /= PP.asp.H1; // планеты в аспекте с куспидом 1 дома
n ::= MA.asp.p; // число планет (среди p), имеющих аспект с Марсом.
Макросы
Если формула содержит какую-либо многократно повторяющуюся длинную последовательность символов, то эту последовательность можно обозначить коротким именем, а затем, в формуле использовать это имя.
Макрос - это имя, знак "=", последовательность символов, символ ";".
Например:
Планета = SO-KN,CU-PO;
Огонь = Овен,Лев,Стрелец;
Использование макроса:
Планета.Скорпион - что означает: в знаке Скорпиона есть какая-либо планета.
Солнце.Огонь - что означает Солнце в знаках Огня.
Строки
Строка, это последовательность символов, ограниченная символами ". Например, "poet"
Строка применяется для поиска данной последовательности символов в базе данных. Поиск производится во все полях записи, а не только в поле комментария (все поля текстовые). Например, можно задать строку "astrologer" для поиска в базе данных записей, содержащих это слово (в данном случае - в комментарии).
При записи строки не имеет значения верхний или нижний регистр. Пробелы при поиске строки игнорируются.
Комментарии
Текст формулы может содержать произвольные комментарии. Комментарий, это строка, начинающаяся символами //. Например:
// Это формула для поиска того, что надо
Если формула применяется в универсальной интерпретации, то возможно использование "выводимых" комментариев - строк, всегда выдаваемых в интерпретационный документ.
Формат выводимого комментария: //* <строка> *//
Планеты:
Двухбуквенная нотация:
SO Солнце
MO Луна
ME Меркурий
VE Венера
MA Марс
JU Юпитер
SA Сатурн
UR Уран
NE Нептун
PL Плутон
KN Узел (Северный)
SN Южный Узел
LI Лилит
SE Селена
PR Прозерпина
CH Хирон
CU Купидон
HA Гадес
ZE Зевс
KR Кронос
AP Аполлон
AD Адмет
VU Вулкан
PO Посейдон
Трёхбуквенная нотация:
SUN, LUN, MER, VEN, MAR, JUP, SAT, URA, NEP , PLU, NOD, SND, LIL, SEL, PRO, CHI
Планеты можно обозначать и их названиями:
Солнце, Луна, Меркурий,...
10 планет можно использовать в интервальной записи, например: SUN-PLU.
Название планет от Солнца до Плутона можно сокращать до трёх букв, регистр (строчные/прописные) значения не имеет, т.е. можно писать "Sun" или "сол".
Жребии можно обозначать либо именем, например, "Фортуна", либо кодом, указанным в каталоге Жребиев, например, "for".
Фиктивные планеты можно обозначать либо именем, например, "Вертекс", либо кодом, указанным в каталоге фиктивных планет, например, "eqa" (Экваторавльный Асцендент).
Астероиды можно обозначать либо именем, например, "Церера", "Irene" (если нет русского варианта имени), либо кодом "AS" плюс номер астероида по каталогу, например, Церера - AS1 (не путать с A1 - альмутен первого дома).
Все эти объекты можно использовать при записи множества, например, "Sun,Ven,Jup".
Все объекты, используемые в формуле, должны быть выбраны (установлены, активированы) для расчёта в ZET'е перед выполнением поиска по этой формуле или проверкой её синтаксиса.
Планеты от Солнца до Лилит являются выбранными всегда, остальные - нужно активировать в соответствующих каталогах, например, Селену и Прозерпину в каталоге фиктивных объектов, Хирон в каталоге астероидов, Колесо Фортуны в каталоге жребиев.
Звёзды:
Звёзды указываются своими названиями либо по-русски, либо по-английски, например, Regulus, Регул.
Звёзды можно использовать только в выражении, определяющем соединение планеты со звездой.
Синтаксис: планета.звезда
Например: MA.REGULUS - Марс в соединении с Регулом.
Знаки Зодиака:
ARI, TAU, GEM, CNC, LEO, VIR, LIB, SCO, SGR, CAP, AQR, PSC
Знаки также можно задавать названиями и сокращать.
Знаки могут составлять интервал и множество, например, "ARI-VIR", "TAU,LEO,SCO,AQR".
Часть знака, например, "ARI[30]" - 30-й градус Овна (от 29°Ari до 30°Ari) или, что то же самое, "ARI[29-30]".
Другой пример: "ARI[1]" - 1-й градус Овна (от 0°Ari до 1°Ari) или, что то же самое, "ARI[0-1]".
Первая декада Овна: "ARI[0-10]", вторая: "ARI[10-20]", третья: "ARI[20-30]".
Часть Зодиака, например, "Lib[15]-Sco[15]", другой пример: "Lib[1]-Sco[15]" - весь знак Весов и первая половина знака Скорпиона.
Аспекты:
Можно использовать трёхбуквенные обозначения, принятые в Solar Fire: CNJ, SSX, DEC, NOV, SSQ, SXT, QNT, SQR, TRI, SQQ, QNX, OPP
Также, если аспект имеется на текущей аспектной странице ZET, его можно обозначать числом - округленным значением аспекта в градусах, при этом используется орбис, установленный этому аспекту на выбранной аспектной странице.
Произвольный аспект задаётся вместе с орбисом в виде диапазона угла в градусах, например, [131-133] или [49:39:19-53:20] (это вариант записи 49°39'19" - 53°20'00") или [119.9-120.1].
Например: "ma.[87:00-92:22].sa" - аспект между Марсом и Сатурном от 87 градусов до 92 градусов 22 минут.
Для аспектов склонений используется: 'P' - параллель, например, "ME.P.MA" = Меркурий в параллели к Марсу, '^P' - контр-параллель, например, "MO.^P.VE".
Для антисов используется: 'A' - антис, например, "ME.A.MA" = Меркурий в аспекте антиса к Марсу, '^A' - контр-антис, например, "MO.^A.VE".
Кроме того, можно указывать тип аспекта: сходящийся(A - applicated), расходящийся(S - separated).
Например: "so.120\a.mo" - сходящийся трин Солнце - Луна.
Дома:
H1, ... H12 или Д1, ... Д12.
Куспиды домов могут обозначаться так же, как и сами дома, а также, Asc, MC, IC, Dsc.
Например, SO.H1 - Солнце в первом доме, H1.Sco - куспид 1-го дома в Скорпионе, Asc.0.PL - Плутон на асценденте.
Дома могут составлять интервал и множество, например, SO.H1-H6 - Солнце в ночной полусфере (ночное рождение), SO.H1,H4,H7,H10 - Солнце в угловом доме.
Часть дома задаётся интервалом в единицах, равных 1/30 протяжённости дома (градус Дома), например, "H1[0-10]" - первая треть первого дома, "H10[10-20]" - вторая треть десятого дома, h5[15] - 15-й градус (вершина) 5-го дома.
Положение планеты в градусе Дома рассчитывается как её мунданная позиция.
Альмутен дома:
A1, ... A12.
Альмутенами дома здесь считаются управители знака, находящегося на куспиде дома. Альмутены дома могут составлять множество.
Внимание: альмутены могут расчитываться двумя способами, в зависимости от того, какой способ выбран в "Установках карты", "Разное(3)": альмутены домов - управители знаков или альмутены по Аль-Кабиси.
Фаза движения планеты:
D - директная,
R - ретроградная,
S - стационарная (скорость планеты составляет менее 1/10 от средней),
V - быстрая (скорость планеты выше средней),
< - планета впереди другой по Зодиаку.
Допустимы сочетания: DS, RS.
Примеры:
ur.rs - Уран ретроградный, стационарный,
SO.<.MO - Солнце впереди Луны (Луна убывает),
MO.<.SO - Луна впереди Солнца (Луна прибывает).
Элементы орбиты планет:
Точка орбиты планеты задаётся в каталоге жребиев в виде формулы, синтаксис:
A[t].Planet, где
Например:
A.Sun - афелий Солнца,
Nt.Jup - истинный северный узел Юпитера (геоцентрический).
Затем, этот жребий используется в астроформуле как любая другая планета.
Другие показатели:
Мидпойнт:
MO.JU/SO - Луна в мидпойнте Юпитер/Солнце
Планетный час:
SA.PLN_HOUR - час Сатурна,
SO-ME.PLN_HOUR - час Солнца, Луны или Меркурия.
Триплицитет:
ME.TRIPL.SA - Меркурий в триплицитете Сатурна,
ME.TRIPL.JU,SA - Меркурий в триплицитете Юпитера или Сатурна,
H1,H10.TRIPL.JU - Asc или MC в триплицитете Юпитера,
Asc,MC.TRIPL.JU - Эту форму следует использовать для обозначения истинных Asc и MC, если куспиды 1-го или 10-го домов отличаются от Asc и MC.
Допустимо указание транзитых объектов, например, Asc',MC.TRIPL.JU - асцендент транзитной карты или МС натала находятся в триплицитете Юпитера.
Множество-интервал, в отличие от множества-перечисления, может указывать только на объекты одной карты (либо натал, либо транзит): SO-PL - планеты натала, SO-PL' или SO'-PL' - планеты транзита (SO'-PL - неправильно).
Замечание: Интервал H1-H10 перечисляет 10 домов или куспидов (в зависимости от контекста), но запись Asc-MC эквивалентна Asc,MC, т.е. перечисляет два куспида.
Терм:
UR.TERM.ME - Уран в терме Меркурия.
Фас:
SO.FACE.MA - Солнце в фасе (деканате) Марса.
Градус:
PL.DEGREE.JU - Плутон в градусе Юпитера.
День Луны:
MoonDay[9] - 9-й день Луны, метод расчёта (по восходам или по 12-градусным секторам) определяется текущими установками,
MoonDay[1-5] - первые 5 дней Луны.
День недели:
DayOfWeek[4] - среда (1 - воскресенье, 2 - понедельник, ..., 7 - суббота), допустимо указание транзитных данных, например, DayOfWeek'[4]. Допустимо множество, например, DayOfWeek[1,7] - воскресенье или суббота.
Дата и время:
Date[12] - 12-е число,
Date[12.11] - 12 ноября,
Date[12.11.2006] - 12 ноября 2006, допустим американский стиль (mm/dd/yyyy): Date[11/12/2006],
Time[7] - 7 часов утра (указывается местное гражданское время), с 7:00:00 до 7:59:59,
Time[21:30] - с 21:30:00 до 21:30:59,
Time[21:30:15],
допустимо указание транзитных данных, например, Date'[31.12] & Time'[23:59].
Допустим интервал, например, Date[1-15], Time[14:50-15:20].
Даты в интервале дат должны быть одного вида, например, [1-15], [10.11-31.12], [1.01.2000-31.12.2006].
Интервал времени при расчёте доопределяется до секунд следующим образом, например,
14-15 доопределяется как 14:00:00-15:59:59,
14:50-15:20 доопределяется как 14:50:00-15:20:59.
Луна без курса:
MoonVoid
Дорифорий, Возничий:
ME.Doriphoros & VE.Auriga.
Дорифорий (греч. doriphoros - "копьеносец"), - планета, поднимающаяся непосредственно перед восходом Солнца; другими словами - находящаяся перед Солнцем в последовательности знаков Зодиака (имеющая меньшую долготу).
Возничий (auriga), - планета, расположенная в астрологической карте непосредственно после Солнца в последовательности знаков Зодиака(имеющая большую, чем Солнце, долготу), т.е. заходящая непосредственно после захода Солнца.
Конфигурации аспектов:
AspConfig[парус] - имеется конфигурация "Парус",
SO-MA.AspConfig[Бисекстиль] - хотя бы одна из планет списка входит в кофигурацию "Бисекстиль",
ME,VE,KN,PL.AspConfigAll[парус] - все указанные планеты входят в одну и ту же заданную конфигурацию,
me,ve.aspconfigall[бисекстиль,тау-квадрат] - Меркурий и Венера входят в одну и ту же конфигурацию из списка заданных.
"День рождения":
BirthDay - определяет число дней от текущей (транзитной) даты (день и месяц) до дня рождения натива (исходная карта). Функция используется только в определении численной переменой.
Пример:
n ::= BirthDay;
n == 1 // завтра день рождения натива
Пол натива:
Male или Муж - мужская карта,
Female или Жен - женская карта.
Афетика
Примеры:
SO.LillyEssGreen - эссенциальный статус Солнца по Лилли положительный или
ME.LillyEssGreen[5] - эссенциальный статус Меркурия по Лилли больше 5,
SA.LillyEssRed[12] - эссенциальный статус Сатурна по Лилли меньше минус 12,
VE.LillyAccRed - акцидентальный статус Венеры по Лилли отрицательный,
NE.KeferGreen[3] - афетический балл Нептуна по Кеферу больше 3,
PL.KeferRed - афетический балл Плутона по Кеферу отрицательный.
Планеты в Лунных стоянках
Примеры:
SO.MoonMansion[18] - Солнце находится в стоянке Джиестха (18),
SO-SA.MoonMansion[1-5] - одна из планет находится в первых пяти стоянках Луны,
MO'.MoonMansion[5,6] - транзитная Луна находится в Мригашире или в Ардре.
Арифметические функции
Примеры:
x ::= Max[a,b,c]; // определяется максимальное из трёх чисел
x ::= Min[a,b,c,d,e]; // определяется минимальное из пяти чисел
Комплексная функция
Синтаксис: <список планет>{.<функция>}
Семантика: хотя бы одна из планет списка должна удовлетворять условиям, определённым каждой функцией списка. Например:
SO-PL.H4.A9
x1 ::= SO-PL.H4.A9; x2 ::= SO-PL.H4.A4; x3 ::= SO-PL.H9.A4; x4 ::= SO-PL.H9.A9; x1+x2+x3+x4 >= 3
VE.LIB.H4.A9
MA.D.ARI.SQR.SO
Внимание:
- недопустимо одновременое использование числовой и логической переменных в одном выражении,
- недопустимо использование внешних скобок в результирующей формуле. Например:
pp = SO-PL; // макрос (задание множества) w ::= pp.CNC,SCO,PSC; // числовая переменная m := (MO.LillyEssGreen[0] & MO.LillyAccGreen[0]); // логическая переменная n := w > 3; // логическая переменная m & n // конечная формула правильная //(m & n) // конечная формула неправильная //m & (w > 3) // конечная формула неправильная
Примеры использования арифметических функций
Например, акцентированные стихии и кресты в космограмме можно показать так:
F ::= SO-PL.Овен,Лев,Стрелец; W ::= SO-PL.Рак,Скорпион,Рыбы; A ::= SO-PL.Близнецы,Весы,Водолей; L ::= SO-PL.Телец,Дева,Козерог; x ::= max[F,A,W,L]; x == F // Большинство планет в стихии Огня. KA ::= SO-PL.Овен,Рак,Весы,Козерог; FI ::= SO-PL.Телец,Лев,Скорпион,Водолей; MU ::= SO-PL.Близнецы,Дева,Стрелец, Рыбы; x ::= max[KA,FI,MU]; x == MU // Большинство планет в мутабельном кресте.
А синтетический знак таким образом:
F ::= SO-PL.Овен,Лев,Стрелец; W ::= SO-PL.Рак,Скорпион,Рыбы; A ::= SO-PL.Близнецы,Весы,Водолей; L ::= SO-PL.Телец,Дева,Козерог; KA ::= SO-PL.Овен,Рак,Весы,Козерог; FI ::= SO-PL.Телец,Лев,Скорпион,Водолей; MU ::= SO-PL.Близнецы,Дева,Стрелец, Рыбы; x ::= max[F,W,A,L]; x1 ::= max[KA,FI,MU]; (x==F)&(x1==MU) // Синтетический знак в космограмме - Стрелец
Пример функции MAX в Универсальной Интерпретации
// UNI
// Планета, имеющая наибольшее количество аспектов
//
<<<
asp = 0,30,40,45,60,72,90,108,120,135,144,150,180;
PP = SO-PL;
x1 ::= SO.asp.PP;
x2 ::= MO.asp.PP;
x3 ::= ME.asp.PP;
x4 ::= VE.asp.PP;
x5 ::= MA.asp.PP;
x6 ::= JU.asp.PP;
x7 ::= SA.asp.PP;
x8 ::= UR.asp.PP;
x9 ::= NE.asp.PP;
x10 ::= PL.asp.PP;
n ::= max[x1,x2,x3,x4,x5,x6,x7,x8,x9,x10];
>>>
...
<<< n == x4 >>>
В Вашем гороскопе Венера - планета, имеющая наибольшее количество аспектов,
поэтому ...
...
<<< n == x8 >>>
В Вашем гороскопе Уран - планета, имеющая наибольшее количество аспектов, поэтому ...
Двойные карты
Для обозначения планет второго круга (для двойных и сложных карт) используется символ ' (апостроф). Например для транзитной карты:
NE'.180.PL - транзитный Нептун в оппозиции с натальным Плутоном,
Sol.0.Ur' - транзитный Уран в соединении с натальным Солнцем.