Модуль:User:Vitalik/inflection/ru/declension
Внимание!
Не редактируйте вручную этот модуль (или его подстраницы).
Для этого лучше использовать специальные скрипты и репозиторий, иначе ваши правки могут быть утеряны при последующей автоматической заливке изменений.
Базовый модуль: u:Vitalik/ inflection
Шаблоны: {{сущ-ru}} (dev), {{прил-ru}} (dev)
Разное: u:Vitalik/ Зализняк (кусочек книги)
Тесты: автоматические (noun, adj), ручные (noun, adj), старое (u:Cinemantique/сущ+, u:Vitalik/test-inflection-ru)
Папки-подмодули:
- data — модули с данными
- endings — данные по окончаниям для стандартных типов основ
- stress — данные по всем схемам ударения
- template — используемые шаблоны
- init — инициализация главного объекта
- parse — парсинг индекса
- process — первичная инициализация (тип основы, схема ударения)
- run — основной алгоритм
- parts — вычисление основ и окончаний по падежам
- prepare — первичное формирование (по типу основы и схеме ударения)
- transform — особые случаи (звёздочка, градус, кружочек и т.п.)
- result — формирование результирующих атрибутов для шаблона
- parts — вычисление основ и окончаний по падежам
local dev_prefix = ''
dev_prefix = 'User:Vitalik/' -- comment this on `prod` version
local export = {}
local _ = require('Module:' .. dev_prefix .. 'inflection/tools')
local init = require('Module:' .. dev_prefix .. 'inflection/ru/declension/init') -- '_' /init
local e = require('Module:' .. dev_prefix .. 'inflection/ru/declension/run/result/error') -- 'declension.'
local run = require('Module:' .. dev_prefix .. 'inflection/ru/declension/run') -- '_' /run
local module = 'declension'
-- @starts
function export.forms(base, args, frame) -- todo: rename to `out_args`
func = "forms"
_.starts(module, func)
local i = init.init_info(base, args, frame)
if e.has_error(i) then
return _.returns(module, func, i.result)
end
-- INFO: Запуск основного алгоритма и получение результирующих словоформ:
run.run(i)
return _.returns(module, func, i.result)
end
return export