Документация

Синтаксис. Анкор генератор
Документация по использованию синтаксиса Генератора анкоров с примерами

Генератор на вход получает текст, который отличается от обычного тем, что символы: (){}\/|[]= он понимает как специальные символы разметки, использует их для генерации. т.е. он воспринимает их не как обычные символы, а как специальные команды разметки. Все остальные символы он понимает как обычные.


Но иногда требуется, чтобы генератор воспринял любой из символов: (){}\/|[]= именно как символ, а не как команду разметки, для этого необходимо перед ним ставить дополнительный экранирующий символ "\", т.е. экранировать.


Например, если необходимо в тексте написать символ ( так, чтобы генератор воспринял его как символ, а не как команду разметки, то необходимо экранировать скобку вот так: \)

Генератор анкоров ver. 1.0


Например, чтобы генератор воспринял строку "(комментарий)" именно как строку, а не как команду, то надо написать так: "\(комментарий\)".

Теперь что же значат команды и как ими пользоваться.

Операция выбора, для нее используются символы: (|)
( - начало операции выбора
) - конец операции выбора
| - символ служит для разделения вариантов

Например,
Выражение:
  (саша|юра|наташа)
  - выбор между 3-мя словами
выдает:
  наташа
  саша
  юра
  наташа
  юра
  юра
  саша
  наташа
  юра
  наташа

Выражение:
  (слово|)
  - выбор между "слово" и пустой строкой ""
выдает: или слово или пустую строку  

выражение:
  (саш(а|енька)|юр(а|очка)|наташ(а|енька))
выдает:
  наташенька
  наташа
  юра
  юра
  наташенька
  сашенька
  юра
  юра
  юра
  наташенька

Операция перестановки, для нее используются символы: {/=}
{ - начало операции выбора
} - конец операции выбора
/ - символ служит для разделения перестановок
= - символ служит для того, чтобы после него указать резделитель для перестановок
  этот символ разделитель указывается после перечисления всех перестановок
  после символа = указывается сам разделитель

выражение:
  {саша /юра /наташа }
  - три перестановки каждая из которых состоит из слова и пробела,
  разделитель не указан, поэтом т.к. разделителя нет, то символ = не использован

выдает:
  наташа юра саша
  саша юра наташа
  саша юра наташа
  наташа саша юра
  наташа юра саша
  наташа юра саша
  саша юра наташа
  наташа юра саша
  юра саша наташа
  саша наташа юра


выражение:
  {саша/юра/наташа= и }
  - три перестановки каждая из которых состоит из словам без пробелов,
  разделитель указан состоит из пробела буквы "и" и еще одного пробела
выдает:
  саша и наташа и юра
  саша и наташа и юра
  саша и наташа и юра
  наташа и юра и саша
  наташа и саша и юра
  наташа и саша и юра
  саша и наташа и юра
  наташа и юра и саша
  наташа и юра и саша
  наташа и юра и саша

выражение:
  {саша/юра/наташа=( и |, )}
  - три перестановки каждая из которых состоит из словам без пробелов,
  разделитель указан состоит из пробела операции выбора из двух вариантов:
  первый - это пробел, буква "и" и еще один пробел
  второй - это запятая и пробел
выдает:
  саша и наташа и юра
  саша и юра и наташа
  саша, юра и наташа
  саша, наташа, юра
  саша и наташа и юра
  наташа, юра и саша
  наташа, саша и юра
  юра, наташа, саша
  юра, наташа, саша
  наташа и юра и саша

обратите внимание, что можно использовать вложение выражений

Операция большой буквы для нее используются символы: []
[ - начало операции большой буквы
] - конец операции большой буквы

выражение:
  [{часы/будильники/кукушки=, } - все это вы найдете у нас. а также другие вещи]

выдает:
  Будильники, кукушки, часы - все это вы найдете у нас. А также другие вещи
  Будильники, часы, кукушки - все это вы найдете у нас. А также другие вещи
  Кукушки, будильники, часы - все это вы найдете у нас. А также другие вещи
  Кукушки, часы, будильники - все это вы найдете у нас. А также другие вещи
  Часы, будильники, кукушки - все это вы найдете у нас. А также другие вещи
  Часы, кукушки, будильники - все это вы найдете у нас. А также другие вещи

Тестовые примеры, которые надо вбивать в генератор, чтобы научиться, понять нюансы и почувствовать разницу:

{фраза1/фраза2,фраза3} - склеивает, т.к. нет пробелов
{фраза1 /фраза2 /фраза3 }. - добавили пробелы, но теперь в конце выражения один линший пробел справа
{фраза1/фраза2/фраза3= } - все ок, добавили разделитель пробел, слова стали через пробел и справа пробела нет
{фраза1/фраза2/фраза3= и } - все ок, добавили разделитель из 3х символов: пробел, буква "и", пробел
{фраза1/фраза2/фраза3=( и | или )} - все ок, добавили разделитель который сам является выражением, это или " и " или " или "
{фраза1/фраза2/фраза3=(и|или)} - склеивает слова, нет ни одного п робела
{фраза1/фраза2/фраза3=( и | или | ,)} - добавили еще один разделитель запятую


теперь в кратце:
чем экранировать: \
что экранировать: (){}\/|=

Expression error - ошибка в выражении
Select error - ошибка операции выбора (||)
Permutation error - ошибка операции перестановки {//=}
Upper error - ошибка операции большие буквы []

фраза: found: ) expected: }

говорит о том, что найдена закр.скобка, а ожидается фигурная

Генератор анкоров ver. 1.0 

Вернуться назад