Модуль: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 — формирование результирующих атрибутов для шаблона
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