Skip to content

Commit

Permalink
Поправки в книге (#186)
Browse files Browse the repository at this point in the history
  • Loading branch information
tsukanov-as committed May 4, 2020
1 parent 162d9c5 commit 14cf531
Showing 1 changed file with 15 additions and 33 deletions.
48 changes: 15 additions & 33 deletions book.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ May the Force be with you.
- [`Посетить`](#посетитьмодуль-параметры)
- [`Токенизировать`](#токенизироватьисходник-таблицазначений)
- [`ВыполнитьЗамены`](#выполнитьзамены-строка)
- [`Очистить`](#очистить)
- [Дополнительные методы](#дополнительные-методы)
- [`Узлы`](#узлы-структура)
- [`КлючевыеСлова`](#ключевыеслова-структура)
Expand All @@ -30,9 +31,6 @@ May the Force be with you.
- [`ТаблицаЗамен`](#таблицазамен-таблицазначений)
- [Продвинутые методы](#продвинутые-методы)
- [`Окружение`](#окружениевнешнееокружение-структура)
- [`ЭлементОкружения`](#элементокруженияимя-объявление-структура)
- [`ОбъявлениеГлобальногоОбъекта`](#объявлениеглобальногообъектаимя-доступность-структура)
- [`ОбъявлениеГлобальногоМетода`](#объявлениеглобальногометодаимя-возвращаетзначение-параметры-доступность-структура)
- [`Доступность`](#доступностьклиент-внешнеесоединение-мобильноеприложение-мобильныйклиент-мобильныйсервер-сервер-толстыйклиент-тонкийклиент-вебклиент-интеграция-структура)
- [Служебные методы](#служебные-методы)
- [`УстановитьИсходник`](#установитьисходникисходник)
Expand Down Expand Up @@ -121,7 +119,7 @@ May the Force be with you.

Данные методы составляют основной программный интерфейс для внешней по отношению к парсеру системы. Позволяют выполнить разбор исходного кода, обход AST с плагинами и выполнить модификацию исходного кода по сгенерированным плагинами заменам.

Чаще всего используется метод `Пуск()`, который заключает в себе типовую последовательность вызовов `Разобрать()`, `Подключить()` и `Посетить()`.
Чаще всего используется метод `Пуск()`, который заключает в себе типовую последовательность вызовов `Разобрать()`, `Подключить()`, `Посетить()` и `Очистить()`.
Рабочие примеры использования данных методов смотрите в скриптах в папке /oscript

##### `Пуск(Исходник, Плагины, Параметры, Окружение): Массив`
Expand Down Expand Up @@ -346,6 +344,19 @@ May the Force be with you.
Сообщить(ИсправленныйИсходник)
```

##### `Очистить()`

*Очищает в парсере таблицы токенов и узлов. Так освобождается память и парсер подготавливается к следующему разбору. Перед разбором таблицы улов не очищаются, т.к. могут быть наполнены извне при формировании внешнего окружения. Метод `Пуск()` уже включает этот вызов.*

Пример:

```bsl
ПарсерВстроенногоЯзыка = Новый ПарсерВстроенногоЯзыка;
АСД = ПарсерВстроенногоЯзыка.Разобрать(Исходник);
Сайт = ГенераторДокументации.Посетить(ПарсерВстроенногоЯзыка, АСД);
ПарсерВстроенногоЯзыка.Очистить();
```

#### Дополнительные методы

Данные методы в основном используются в плагинах и вызываются один раз в процедуре Открыть(). Методы предоставляют различную вспомогательную информацию и таблицы, в которых плагины могут регистрировать ошибки и замены.
Expand Down Expand Up @@ -734,35 +745,6 @@ May the Force be with you.

- `ВнешнееОкружение: Структура` -- внешнее окружение по отношению к создаваемому.

##### `ЭлементОкружения(Имя, Объявление): Структура`

*Конструктор. Возвращает новый элемент окружения.*

Параметры:

- `Имя: Строка` -- имя элемента (переменной или метода).
- `Объявление: Структура` -- объявление элемента (переменной или метода).

##### `ОбъявлениеГлобальногоОбъекта(Имя, Доступность): Структура`

*Конструктор. Возвращает новое объявление глобального объекта.*

Параметры:

- `Имя: Строка` -- имя глобального объекта (свойства глобального контекста).
- `Доступность: Структура` -- набор флагов, определяющих контекст в котором доступен элемент. Смотрите метод `Доступность()`.

##### `ОбъявлениеГлобальногоМетода(Имя, ВозвращаетЗначение, Параметры, Доступность): Структура`

*Конструктор; возвращает новое объявление глобального метода.*

Параметры:

- `Имя: Строка` -- имя глобального метода.
- `ВозвращаетЗначение: Булево` -- признак, определяющий является ли метод функцией.
- `Параметры: Структура` -- структура, в которой ключ - это имя параметра, а значение - это признак обязательности.
- `Доступность: Структура` -- набор флагов, определяющих контекст в котором доступен элемент. Смотрите метод `Доступность()`.

##### `Доступность(Клиент, ВнешнееСоединение, МобильноеПриложение, МобильныйКлиент, МобильныйСервер, Сервер, ТолстыйКлиент, ТонкийКлиент, ВебКлиент, Интеграция): Структура`

*Конструктор. Возвращает новую структуру доступности.*
Expand Down

0 comments on commit 14cf531

Please sign in to comment.