Лексер NSL
Однопроходный сканер, превращающий исходный текст .nsl в плоский список токенов; переводы строк не значимы, поля самоограничены грамматикой.
concept:nsl-token-kinds
data
Множество токенов NSL (TokenKind)
Тринадцать видов токенов, покрывающих всю поверхность языка.
concept:nsl-identifier-rules
data
Правила идентификаторов NSL (кириллица разрешена)
Идентификаторы могут начинаться с латинской буквы, подчёркивания или кириллического символа и продолжаться цифрами, точкой и дефисом.
concept:olympos-ten-laws
governance
Десять законов мира OLYMPOS
Публичный канон шоу, вывешенный на сайте; нарушение любого закона шоураннером означает смерть доверия к формату.
concept:nsl-constructs
data
Конструкции NSL-0001 (§11)
entity, relation, attribute, event, rule, dna — с примерами на Amara, forest_of_echoes и the_gate_is_closed.
concept:noetic-echo-edge
infra
NoeticEcho Edge
Переносимый локальный узел Системы: несёт идентичность, локальную память, агентов, инструменты, model gateway, Chronicle, sync и mesh; работает offline-first.
concept:affordance-space
data
Affordance Space
Пространство возможностей действия сущности; аффордансы неаддитивны.
concept:nsl-typed-construct
data
Типизированная конструкция (type + id)
Только entity и dna принимают подтип перед идентификатором: `entity character "amara"` даёт construct=entity, type=character, id=amara. У остальных конструкций подтипа нет, и первый ident после ключевого слова становится идентификатором (глаголом).
concept:nsl-value-kinds
data
Виды значений NSL (NslValue)
Одиннадцать разновидностей значения в AST — размеченное объединение по полю kind.
Цепочка состояний (chain, оператор ->)
Значение вида `calm -> tense -> determined`: последовательность атомов, разделённых стрелкой, читаемая как траектория изменения состояния.
Типизированная ссылка (ref)
Пара «тип + строковый идентификатор», записываемая как `character "amara"`; канонический ключ — "character:amara". Единственный способ сослаться на другую сущность.
Вызов-функция в значении (call)
Значение вида `fog(0.7)` — имя и список аргументов; в реализации не вычисляется, только сохраняется в AST и компилируется в JSON.
concept:nsl-raw-rule
data
Сырое условие правила (when / then)
Внутри конструкции rule ключевые слова when и then читаются как человекочитаемый текст до следующего стоп-слова, а не разбираются в типизированное выражение.
Компиляция NSL в переносимый JSON (toJson)
Преобразование AST в JSON по NSL-0001 §3.8 (portable): плоские скаляры как есть, специальные ключи $ref/$call/$chain для нескалярных значений.
concept:nsl-validator
data
Валидатор NSL / движок непрерывности
Проверка канона в шесть проходов: объявления и дубликаты → обязательные поля → ссылки и confidence → непрерывность знания → обещания и их закрытие → dna без сущности → сироты. Возвращает ValidationResult {ok, errors, warnings, stats}.
concept:nsl-declarative-constructs
data
Декларативные конструкции vs глаголы
Объявляют сущность (и потому обязаны быть уникальны) только entity, fact, scene, chapter, arc, location. Всё остальное — relation, event, dna, memory, intent, emotion, perception, attribute — высказывания о уже объявленном и повторяются столько раз, сколько требует сюжет.
concept:nsl-required-fields
data
Обязательные поля по конструкции (REQUIRED)
Таблица минимальных обязательных полей; отсутствие даёт E004.
concept:nsl-diagnostic-codes
data
Коды диагностики NSL
Полный набор кодов, которые возвращает валидатор и загрузчик канона.
concept:nsl-knowledge-continuity
data
Непрерывность знания (E005)
Главный класс ошибок длинного сериала: персонаж не может быть помечен как не знающий того, что он уже узнал. Валидатор строит хронологию утверждений по паре субъект|объект и проверяет полярность.
concept:xr-profile
render
XR-профиль и перспективное железо
Профиль восприятия мира в XR и учёт будущего железа при выборе профилей рендера.
concept:nsl-promise-payoff
narrative
Обещания и их закрытие (ружьё должно выстрелить)
Каждая сцена может объявить promise (список строк) и payoff (список строк). Валидатор строит соответствие текст обещания → текст закрытия и требует, чтобы закрытие было позже или чтобы обещание имело явный payoff_target.
concept:nsl-scene-order
narrative
Порядок сцен (sceneOrder)
Хронология канона задаётся полем order у сцены; при отсутствии order берётся позиция сцены в документе.
concept:nsl-confidence
data
Поле confidence (степень уверенности)
Любое поле с именем confidence обязано быть числом в [0,1]; проверка привязана к ИМЕНИ поля, а не к конструкции.
concept:nsl-provenance
data
Поле provenance (происхождение факта)
Каждый fact канона снабжается указанием, из какого документа он взят. Тот же принцип вынесен в драматургическое правило provenance_required и в сюжет глав ch02/ch04.
24 of 2866 shown. Search to reach the rest.