Serj Kalichev 1 year ago
parent
commit
c3a4cfe1e5
1 changed files with 44 additions and 2 deletions
  1. 44 2
      docs/klish3.ru.md

+ 44 - 2
docs/klish3.ru.md

@@ -130,7 +130,7 @@ shell скрипты, но и скрипты на других интерпре
 В данном разделе все примеры будут основаны на XML элементах.
 В данном разделе все примеры будут основаны на XML элементах.
 
 
 
 
-### Области видимости VIEW
+### Области видимости
 
 
 Команды организованы в "области видимости", называемые VIEW. Т.е. каждая команда
 Команды организованы в "области видимости", называемые VIEW. Т.е. каждая команда
 принадлежит какому-либо VIEW и в нем определена. При работе в klish всегда
 принадлежит какому-либо VIEW и в нем определена. При работе в klish всегда
@@ -155,4 +155,46 @@ VIEW, определенный внутри другого VIEW добавляе
 Кроме этого существуют ссылки на VIEW. Объявив такую ссылку внутри VIEW, мы
 Кроме этого существуют ссылки на VIEW. Объявив такую ссылку внутри VIEW, мы
 добавляем команды того VIEW, на который указывает ссылка, к командам текущего
 добавляем команды того VIEW, на который указывает ссылка, к командам текущего
 VIEW. Можно определить VIEW со "стандартными" командами и включать ссылку на
 VIEW. Можно определить VIEW со "стандартными" командами и включать ссылку на
-этот VIEW в другие VIEW, где требуются эти команды, не переопределяя их заново.
+этот VIEW в другие VIEW, где требуются эти команды, не переопределяя их заново.
+
+В XML файлах конфигурации для объявления VIEW используется тег 'VIEW'.
+
+
+### Команды и параметры
+
+Команды (тег 'COMMAND') могут иметь параметры (тег 'PARAM'). Команда определяется
+внутри какого-либо VIEW и пренадлежит ему. Параметры определяются внутри команды
+и, в свою очередь, принадлежат ей. Команда может состоять только из одного слова,
+в отличие от команд в klish предыдущих версий. Если нужно определить многословную
+команду, то создаются вложенные команды. Т.е. внутри команды, идентифицируемой по
+первому слову многословной команды, создается команда, идентифицируемая по
+второму слову многословной команды и т.д.
+
+Строго говоря, команда отличается от параметра только тем, что ее значением может
+быть только заранее определенное слово, в то время, как значением параметра может
+быть что угодно. Только тип параметра определяет его возможные значения. Таким
+образом команду можно рассматривать как параметр с типом, который говорит о том,
+что допустимым значением является само имя параметра. Внутренняя реализация
+команд именно такая.
+
+В общем случае параметр может определяться непосредственно во VIEW, а не внутри
+команды, но это скорее нетипичный случай.
+
+Как и VIEW, команды и параметры могут быть ссылками. В этом случае ссылку можно
+рассматривать просто как подстановку того объекта, на который указывает ссылка.
+
+
+### Тип параметра
+
+Тип параметра определяет допустимые значения этого параметра. Обычно типы
+определяются отдельно с помощью тега 'PTYPE', а параметр ссылается на определенный
+тип по его имени. Также тип может быть определен прямо внутри параметра, но это
+не типичный случай, т.к. стандартными типами удается покрыть большую часть
+потребностей.
+
+Тип PTYPE, как и команда, выполняет определенное действие, заданное тегом
+'ACTION'. Действие, заданное для типа, проверяет введенное оператором значение
+параметра и возвращает результат - успех или ошибка.
+
+
+### Действие