Commit c9aff367 authored by Gérard Huet's avatar Gérard Huet

Version 3.09 adapted to OCaml version 4.07.0 - ocaml upgrade needed -

parent 72b89b4c
......@@ -6,15 +6,15 @@
\begin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% This file has been automatically generated with the command
%% ocamlweb --noweb --tex ../DOC/docintro.tex control.ml version.ml date.ml canon.ml transduction.ml encode.ml order.ml padapatha.ml sanskrit.mli sanskrit.ml skt_lexer.ml test_stamp.ml dir.mli dir.ml paths.ml index.ml phonetics.ml int_sandhi.ml skt_morph.mli morphology.mli naming.ml inflected.mli inflected.ml sandhi.ml sandhier.ml pada.ml nouns.mli nouns.ml verbs.mli verbs.ml parts.ml conj_infos.mli morpho_string.ml morpho.ml declension.ml conjugation.ml indexer.ml indexerd.ml phases.ml lemmatizer.ml auto.mli load_transducers.ml dispatcher.mli dispatcher.ml segmenter.ml load_morphs.ml lexer.mli lexer.ml rank.ml scl_parser.ml reader.ml parser.ml constraints.mli constraints.ml multilingual.ml paraphrase.mli paraphrase.ml bank_lexer.ml checkpoints.ml graph_segmenter.ml automaton.ml interface.mli interface.ml user_aid.ml reset_caches.ml params.mli params.ml html.ml web.ml css.ml cgi.ml morpho_html.ml chapters.ml morpho_scl.ml mk_index_page.ml mk_grammar_page.ml mk_reader_page.ml mk_sandhi_page.ml mk_corpus_page.ml corpus.mli corpus.ml web_corpus.mli web_corpus.ml corpus_manager.mli corpus_manager.ml corpus_manager_cgi.ml save_corpus_params.mli save_corpus_params.ml save_corpus_cgi.ml mkdir_corpus_params.mli mkdir_corpus_params.ml mkdir_corpus_cgi.ml mk_corpus.ml -o ../DOC/Heritage_Platform.tex
%% ocamlweb --noweb --tex ../DOC/docintro.tex control.ml version.ml date.ml canon.ml transduction.ml encode.ml order.ml padapatha.ml skt_lexer.ml sanskrit.mli sanskrit.ml test_stamp.ml dir.mli dir.ml paths.ml index.ml phonetics.ml int_sandhi.ml skt_morph.mli morphology.mli naming.ml inflected.mli inflected.ml sandhi.ml sandhier.ml pada.ml nouns.mli nouns.ml verbs.mli verbs.ml parts.ml conj_infos.mli morpho_string.ml morpho.ml declension.ml conjugation.ml indexer.ml indexerd.ml phases.ml lemmatizer.ml auto.mli load_transducers.ml dispatcher.mli dispatcher.ml segmenter.ml load_morphs.ml lexer.mli lexer.ml rank.ml scl_parser.ml reader.ml parser.ml constraints.mli constraints.ml multilingual.ml paraphrase.mli paraphrase.ml bank_lexer.ml checkpoints.ml graph_segmenter.ml automaton.ml interface.mli interface.ml user_aid.ml reset_caches.ml params.mli params.ml html.ml web.ml css.ml cgi.ml morpho_html.ml chapters.ml morpho_scl.ml mk_index_page.ml mk_grammar_page.ml mk_reader_page.ml mk_sandhi_page.ml mk_corpus_page.ml corpus.mli corpus.ml web_corpus.mli web_corpus.ml corpus_manager.mli corpus_manager.ml corpus_manager_cgi.ml save_corpus_params.mli save_corpus_params.ml save_corpus_cgi.ml mkdir_corpus_params.mli mkdir_corpus_params.ml mkdir_corpus_cgi.ml mk_corpus.ml -o ../DOC/Heritage_Platform.tex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% WARNING Do not edit manually docintro.tex, mechanically produced by configure from docintro
\begin{center}
\vspace*{24pt}
{\Large The Sanskrit Platform Documentation}\\[10pt]
{\Large (Sanskrit Library V3.08; Zen toolkit V3.1)}\\[15pt]
{\large 2018-08-25}\\[15pt]
{\Large (Sanskrit Library V3.09; Zen toolkit V3.1)}\\[15pt]
{\large 2018-09-09}\\[15pt]
{\large G\'erard Huet \& Pawan Goyal}\\[10pt]
{\large Copyright \copyright ~2000-2018 Inria}\\[20pt]
\end{center}
......@@ -99,7 +99,7 @@ Generated by make version - see main Makefile
\label{version.ml:671}%
\medskip
\ocwbegincode{}\ocwindent{0.00em}
$\ocwlowerid{value}~\ocwlowerid{version}=$\ocwstring{"3.08"}~\ocwkw{and}~$\ocwlowerid{version\_date}=$\ocwstring{"2018\symbol{45}08\symbol{45}25"};\ocweol
$\ocwlowerid{value}~\ocwlowerid{version}=$\ocwstring{"3.09"}~\ocwkw{and}~$\ocwlowerid{version\_date}=$\ocwstring{"2018\symbol{45}09\symbol{45}09"};\ocweol
\ocweol
\ocwendcode{}\typeout{OcamlWeb file Date.ml}
\ocwmodule{Date}
......@@ -4150,6 +4150,270 @@ $]~$\ocwkw{in}\ocweol
\ocwkw{let}~$(\ocwlowerid{\_},\ocwlowerid{padas})~=~\ocwlowerid{pad\_rec}~\ocwlowerid{l}~$\ocwkw{in}~$\ocwlowerid{padas}$\ocweol
\ocwindent{0.00em}
;\ocweol
\ocwendcode{}\typeout{OcamlWeb file Skt_lexer.ml}
\ocwmodule{Skt\_lexer}
\label{skt_lexer.ml:0}%
A simple lexer recognizing idents, integers, punctuation symbols,
and skipping spaces and comments between % and eol.
The transliteration scheme is Velthuis with aa for long a etc.
\ocweol
\label{skt_lexer.ml:813}%
\medskip
\ocwbegincode{}\ocwindent{0.00em}
\ocwkw{module}~$\ocwupperid{Skt\_lexer}~=~$\ocwkw{struct}\medskip
\label{skt_lexer.ml:840}%
\ocwindent{0.00em}
\ocwkw{open}~$\ocwupperid{Camlp4.PreCast};$\ocweol
\ocwindent{0.00em}
\ocwkw{open}~$\ocwupperid{Format};$\medskip
\label{skt_lexer.ml:875}%
\ocwindent{1.00em}
\ocwkw{module}~$\ocwupperid{Loc}~=~\ocwupperid{Loc};~$\ocwbc{} Using the PreCast Loc \ocwec{}\ocweol
\ocwindent{1.00em}
\ocwkw{module}~$\ocwupperid{Error}~=~$\ocwkw{struct}\ocweol
\ocwindent{2.00em}
\ocwkw{type}~$\ocwlowerid{t}~=~$\ocwbt{string};\ocweol
\ocwindent{2.00em}
\ocwkw{exception}~$\ocwupperid{E}~$\ocwkw{of}~$\ocwlowerid{t};$\ocweol
\ocwindent{2.00em}
$\ocwlowerid{value}~\ocwlowerid{to\_string}~\ocwlowerid{x}~=~\ocwlowerid{x};$\ocweol
\ocwindent{2.00em}
$\ocwlowerid{value}~\ocwlowerid{print}~=~\ocwupperid{Format.}\ocwlowerid{pp\_print\_string};$\ocweol
\ocwindent{1.00em}
\ocwkw{end};\ocweol
\ocwindent{1.00em}
\ocwkw{module}~$\ocwupperid{Token}~=~$\ocwkw{struct}\ocweol
\ocwindent{2.00em}
\ocwkw{module}~$\ocwupperid{Loc}~=~\ocwupperid{Loc};~$\ocweol
\ocwindent{2.00em}
\ocwkw{type}~$\ocwlowerid{t}~=$\ocweol
\ocwindent{3.00em}
$[~\ocwupperid{KEYWORD}~$\ocwkw{of}~\ocwbt{string}\ocweol
\ocwindent{3.00em}
$\mid{}~\ocwupperid{IDENT}~$\ocwkw{of}~\ocwbt{string}~\ocweol
\ocwindent{3.00em}
$\mid{}~\ocwupperid{INT}~$\ocwkw{of}~\ocwbt{int}\ocweol
\ocwindent{3.00em}
$\mid{}~\ocwupperid{EOI}$\ocweol
\ocwindent{3.00em}
$]$\ocweol
\ocwindent{2.00em}
;\ocweol
\ocwindent{2.00em}
\ocwkw{module}~$\ocwupperid{Error}~=~\ocwupperid{Error};$\ocweol
\ocwindent{2.00em}
\ocwkw{module}~$\ocwupperid{Filter}~=~$\ocwkw{struct}\ocweol
\ocwindent{3.00em}
\ocwkw{type}~$\ocwlowerid{token\_filter}~=~\ocwupperid{Camlp4.Sig.}\ocwlowerid{stream\_filter}~\ocwlowerid{t}~\ocwupperid{Loc.}\ocwlowerid{t}$\ocweol
\ocwindent{3.00em}
;\ocweol
\ocwindent{3.00em}
\ocwkw{type}~$\ocwlowerid{t}~=~$\ocwbt{string}~$\rightarrow{}~$\ocwbt{bool}\ocweol
\ocwindent{3.00em}
;\ocweol
\ocwindent{3.00em}
$\ocwlowerid{value}~\ocwlowerid{mk}~\ocwlowerid{is\_kwd}~=~\ocwlowerid{is\_kwd}$\ocweol
\ocwindent{3.00em}
;\ocweol
\ocwindent{3.00em}
$\ocwlowerid{value}~$\ocwkw{rec}~$\ocwlowerid{filter}~\ocwlowerid{is\_kwd}~=~$\ocwkw{parser}\ocweol
\ocwindent{4.00em}
$[~[:~`((\ocwupperid{KEYWORD}~\ocwlowerid{s},~\ocwlowerid{loc})~$\ocwkw{as}~$\ocwlowerid{p});~\ocwlowerid{strm}~:]~\rightarrow{}$\ocweol
\ocwindent{6.50em}
\ocwkw{if}~$\ocwlowerid{is\_kwd}~\ocwlowerid{s}~\lor{}~\ocwlowerid{s}~=~$\ocwstring{"!"}~\ocwkw{then}~$[:~`\ocwlowerid{p};~\ocwlowerid{filter}~\ocwlowerid{is\_kwd}~\ocwlowerid{strm}~:]$\ocweol
\ocwindent{6.50em}
\ocwkw{else}~$\ocwlowerid{raise}~(\ocwupperid{Encode.In\_error}~($\ocwstring{"Undefined\ocwvspace{}token\ocwvspace{}:\ocwvspace{}"}~\^{}~$\ocwlowerid{s}))$\ocweol
\ocwindent{4.00em}
$\mid{}~[:~`\ocwlowerid{x};~\ocwlowerid{s}~:]~\rightarrow{}~[:~`\ocwlowerid{x};~\ocwlowerid{filter}~\ocwlowerid{is\_kwd}~\ocwlowerid{s}~:]$\ocweol
\ocwindent{4.00em}
$\mid{}~[:~:]~\rightarrow{}~[:~:]~$\ocweol
\ocwindent{4.00em}
$]~$\ocweol
\ocwindent{3.00em}
;\ocweol
\ocwindent{3.00em}
$\ocwlowerid{value}~\ocwlowerid{define\_filter}~\ocwlowerid{\_}~\ocwlowerid{\_}~=~()$\ocweol
\ocwindent{3.00em}
;\ocweol
\ocwindent{3.00em}
$\ocwlowerid{value}~\ocwlowerid{keyword\_added}~\ocwlowerid{\_}~\ocwlowerid{\_}~\ocwlowerid{\_}~=~()$\ocweol
\ocwindent{3.00em}
;\ocweol
\ocwindent{3.00em}
$\ocwlowerid{value}~\ocwlowerid{keyword\_removed}~\ocwlowerid{\_}~\ocwlowerid{\_}~=~()$\ocweol
\ocwindent{3.00em}
;\ocweol
\ocwindent{2.00em}
\ocwkw{end}\ocweol
\ocwindent{2.00em}
;\ocweol
\ocwindent{2.00em}
$\ocwlowerid{value}~\ocwlowerid{to\_string}~=~$\ocwkw{fun}\ocweol
\ocwindent{3.00em}
$[~\ocwupperid{KEYWORD}~\ocwlowerid{s}~\rightarrow{}~\ocwlowerid{sprintf}~$\ocwstring{"KEYWORD\ocwvspace{}\%S"}~$\ocwlowerid{s}$\ocweol
\ocwindent{3.00em}
$\mid{}~\ocwupperid{IDENT}~\ocwlowerid{s}~\rightarrow{}~\ocwlowerid{sprintf}~$\ocwstring{"IDENT\ocwvspace{}\%S"}~$\ocwlowerid{s}$\ocweol
\ocwindent{3.00em}
$\mid{}~\ocwupperid{INT}~\ocwlowerid{i}~\rightarrow{}~\ocwlowerid{sprintf}~$\ocwstring{"INT\ocwvspace{}\%d"}~$\ocwlowerid{i}$\ocweol
\ocwindent{3.00em}
$\mid{}~\ocwupperid{EOI}~\rightarrow{}~$\ocwstring{"EOI"}\ocweol
\ocwindent{3.00em}
$]$\ocweol
\ocwindent{2.00em}
;\ocweol
\ocwindent{2.00em}
$\ocwlowerid{value}~\ocwlowerid{print}~\ocwlowerid{ppf}~\ocwlowerid{x}~=~\ocwlowerid{pp\_print\_string}~\ocwlowerid{ppf}~(\ocwlowerid{to\_string}~\ocwlowerid{x})$\ocweol
\ocwindent{2.00em}
;\ocweol
\ocwindent{2.00em}
$\ocwlowerid{value}~\ocwlowerid{match\_keyword}~\ocwlowerid{kwd}~=~$\ocwkw{fun}\ocweol
\ocwindent{3.00em}
$[~\ocwupperid{KEYWORD}~\ocwlowerid{kwd'}~$\ocwkw{when}~$\ocwlowerid{kwd'}~=~\ocwlowerid{kwd}~\rightarrow{}~\ocwupperid{True}$\ocweol
\ocwindent{3.00em}
$\mid{}~\ocwlowerid{\_}~\rightarrow{}~\ocwupperid{False}$\ocweol
\ocwindent{3.00em}
$]$\ocweol
\ocwindent{2.00em}
;\ocweol
\ocwindent{2.00em}
$\ocwlowerid{value}~\ocwlowerid{extract\_string}~=~$\ocwkw{fun}\ocweol
\ocwindent{3.00em}
$[~\ocwupperid{INT}~\ocwlowerid{i}~\rightarrow{}~\ocwlowerid{string\_of\_int}~\ocwlowerid{i}$\ocweol
\ocwindent{3.00em}
$\mid{}~\ocwupperid{IDENT}~\ocwlowerid{s}~\mid{}~\ocwupperid{KEYWORD}~\ocwlowerid{s}~\rightarrow{}~\ocwlowerid{s}$\ocweol
\ocwindent{3.00em}
$\mid{}~\ocwupperid{EOI}~\rightarrow{}~$\ocwstring{""}~\ocweol
\ocwindent{3.00em}
$]$\ocweol
\ocwindent{2.00em}
;\ocweol
\ocwindent{1.00em}
\ocwkw{end}\ocweol
\ocwindent{1.00em}
;\medskip
\label{skt_lexer.ml:2388}%
\ocwindent{1.00em}
\ocwkw{open}~$\ocwupperid{Token}$\ocweol
\ocwindent{1.00em}
;\medskip
\ocwendcode{}\ocwindent{0.00em}
The string buffering machinery - ddr + np
\ocweol
\label{skt_lexer.ml:2454}%
\medskip
\ocwbegincode{}\ocwindent{0.00em}
$\ocwlowerid{value}~\ocwlowerid{store}~\ocwlowerid{buf}~\ocwlowerid{c}~=~$\ocwkw{do}~\{~$\ocwupperid{Buffer.}\ocwlowerid{add\_char}~\ocwlowerid{buf}~\ocwlowerid{c};~\ocwlowerid{buf}~\}$\ocweol
\ocwindent{0.00em}
;\ocweol
\ocwindent{0.00em}
$\ocwlowerid{value}~$\ocwkw{rec}~$\ocwlowerid{number}~\ocwlowerid{buf}~=$\ocweol
\ocwindent{1.00em}
\ocwkw{parser}\ocweol
\ocwindent{1.00em}
$[~[:~`(\verb!'0'!..\verb!'9'!~$\ocwkw{as}~$\ocwlowerid{c});~\ocwlowerid{s}~:]~\rightarrow{}~\ocwlowerid{number}~(\ocwlowerid{store}~\ocwlowerid{buf}~\ocwlowerid{c})~\ocwlowerid{s}$\ocweol
\ocwindent{1.00em}
$\mid{}~[:~:]~\rightarrow{}~\ocwupperid{Buffer.}\ocwlowerid{contents}~\ocwlowerid{buf}$\ocweol
\ocwindent{1.00em}
$]$\ocweol
\ocwindent{0.00em}
;\ocweol
\ocwindent{0.00em}
$\ocwlowerid{value}~$\ocwkw{rec}~$\ocwlowerid{skip\_to\_eol}~=$\ocweol
\ocwindent{1.00em}
\ocwkw{parser}\ocweol
\ocwindent{1.00em}
$[~[:~`\verb!'\n'!~\mid{}~\verb!'\026'!~\mid{}~\verb!'\012'!;~\ocwlowerid{s}~:]~\rightarrow{}~()$\ocweol
\ocwindent{1.00em}
$\mid{}~[:~`\ocwlowerid{c}~;~\ocwlowerid{s}~:]~\rightarrow{}~\ocwlowerid{skip\_to\_eol}~\ocwlowerid{s}~$\ocweol
\ocwindent{1.00em}
$]$\ocweol
\ocwindent{0.00em}
;\ocweol
\ocwindent{0.00em}
$\ocwlowerid{value}~\ocwlowerid{ident\_char}~=$\ocweol
\ocwindent{1.00em}
\ocwkw{parser}~\ocweol
\ocwindent{1.00em}
$[~[:~`(\verb!'a'!..\verb!'z'!~\mid{}~\verb!'A'!..\verb!'Z'!~\mid{}~\verb!'.'!~\mid{}~\verb!':'!~\mid{}~\verb!'"'!~\mid{}~\verb!'~'!~\mid{}~\verb!'\''!~\mid{}~\verb!'+'!~\mid{}~\verb!'-'!~\mid{}~\verb!'$'!~$\ocwkw{as}~$\ocwlowerid{c})~:]~$\ocweol
\ocwindent{2.00em}
$\rightarrow{}~\ocwlowerid{c}~]$\ocweol
\ocwindent{0.00em}
;\ocweol
\ocwindent{0.00em}
$\ocwlowerid{value}~$\ocwkw{rec}~$\ocwlowerid{ident}~\ocwlowerid{buff}~=$\ocweol
\ocwindent{1.00em}
\ocwkw{parser}\ocweol
\ocwindent{1.00em}
$[~[:~\ocwlowerid{c}~=~\ocwlowerid{ident\_char};~\ocwlowerid{s}~:]~\rightarrow{}~\ocwlowerid{ident}~(\ocwlowerid{store}~\ocwlowerid{buff}~\ocwlowerid{c})~\ocwlowerid{s}$\ocweol
\ocwindent{1.00em}
$\mid{}~[:~:]~\rightarrow{}~\ocwupperid{Buffer.}\ocwlowerid{contents}~\ocwlowerid{buff}$\ocweol
\ocwindent{1.00em}
$]$\ocweol
\ocwindent{0.00em}
;\ocweol
\ocwindent{0.00em}
$\ocwlowerid{value}~\ocwlowerid{next\_token\_fun}~=$\ocweol
\ocwindent{1.00em}
\ocwkw{let}~\ocwkw{rec}~$\ocwlowerid{next\_token}~\ocwlowerid{buff}~=$\ocweol
\ocwindent{3.00em}
\ocwkw{parser}~$\ocwlowerid{\_bp}$\ocweol
\ocwindent{3.00em}
$[~[:~\ocwlowerid{c}~=~\ocwlowerid{ident\_char};~\ocwlowerid{s}~=~\ocwlowerid{ident}~(\ocwlowerid{store}~\ocwlowerid{buff}~\ocwlowerid{c})~:]~\rightarrow{}~\ocwupperid{IDENT}~\ocwlowerid{s}$\ocweol
\ocwindent{3.00em}
$\mid{}~[:~`(\verb!'0'!..\verb!'9'!~$\ocwkw{as}~$\ocwlowerid{c});~\ocwlowerid{s}~=~\ocwlowerid{number}~(\ocwlowerid{store}~\ocwlowerid{buff}~\ocwlowerid{c})~:]~\rightarrow{}~\ocwupperid{INT}~(\ocwlowerid{int\_of\_string}~\ocwlowerid{s})$\ocweol
\ocwindent{3.00em}
$\mid{}~[:~`\ocwlowerid{c}~:]~\ocwlowerid{\_ep}~\rightarrow{}~\ocwupperid{KEYWORD}~(\ocwupperid{String.}\ocwlowerid{make}~1~\ocwlowerid{c})$\ocweol
\ocwindent{3.00em}
$]~$\ocwkw{in}\ocweol
\ocwindent{2.00em}
\ocwkw{let}~\ocwkw{rec}~$\ocwlowerid{next\_token\_loc}~=$\ocweol
\ocwindent{3.00em}
\ocwkw{parser}~$\ocwlowerid{bp}$\ocweol
\ocwindent{3.00em}
$[~[:~`\verb!'%'!;~\ocwlowerid{\_}~=~\ocwlowerid{skip\_to\_eol};~\ocwlowerid{s}~:]~\rightarrow{}~\ocwlowerid{next\_token\_loc}~\ocwlowerid{s}~$\ocwbc{} comments skipped \ocwec{}\ocweol
\ocwindent{3.00em}
$\mid{}~[:~`\verb!' '!~\mid{}~\verb!'\n'!~\mid{}~\verb!'\r'!~\mid{}~\verb!'\t'!~\mid{}~\verb!'\026'!~\mid{}~\verb!'\012'!;~\ocwlowerid{s}~:]~\rightarrow{}~\ocwlowerid{next\_token\_loc}~\ocwlowerid{s}$\ocweol
\ocwindent{3.00em}
$\mid{}~[:~\ocwlowerid{tok}~=~\ocwlowerid{next\_token}~(\ocwupperid{Buffer.}\ocwlowerid{create}~80)~:]~\ocwlowerid{ep}~\rightarrow{}~(\ocwlowerid{tok},~(\ocwlowerid{bp},~\ocwlowerid{ep}))$\ocweol
\ocwindent{3.00em}
$\mid{}~[:~\ocwlowerid{\_}~=~\ocwupperid{Stream.}\ocwlowerid{empty}~:]~\rightarrow{}~(\ocwupperid{EOI},~(\ocwlowerid{bp},~\ocwlowerid{succ}~\ocwlowerid{bp}))$\ocweol
\ocwindent{3.00em}
$]~$\ocwkw{in}\ocweol
\ocwindent{0.50em}
$\ocwlowerid{next\_token\_loc}$\ocweol
\ocwindent{0.00em}
;\ocweol
\ocwindent{0.00em}
$\ocwlowerid{value}~\ocwlowerid{mk}~()~=$\ocweol
\ocwindent{0.50em}
\ocwkw{let}~$\ocwlowerid{err}~\ocwlowerid{loc}~\ocwlowerid{msg}~=~\ocwupperid{Loc.}\ocwlowerid{raise}~\ocwlowerid{loc}~(\ocwupperid{Token.Error.E}~\ocwlowerid{msg})~$\ocwkw{in}\ocweol
\ocwindent{0.50em}
\ocwkw{fun}~$\ocwlowerid{init\_loc}~\ocwlowerid{cstrm}~\rightarrow{}~\ocwupperid{Stream.}\ocwlowerid{from}~$\ocweol
\ocwindent{2.50em}
$($\ocwkw{fun}~$\ocwlowerid{\_}~\rightarrow{}~$\ocwkw{try}~\ocwkw{let}~$(\ocwlowerid{tok},~(\ocwlowerid{bp},~\ocwlowerid{ep}))~=~\ocwlowerid{next\_token\_fun}~\ocwlowerid{cstrm}~$\ocwkw{in}\ocweol
\ocwindent{9.50em}
\ocwkw{let}~$\ocwlowerid{loc}~=~\ocwupperid{Loc.}\ocwlowerid{move}~`\ocwlowerid{start}~\ocwlowerid{bp}~(\ocwupperid{Loc.}\ocwlowerid{move}~`\ocwlowerid{stop}~\ocwlowerid{ep}~\ocwlowerid{init\_loc})~$\ocwkw{in}\ocweol
\ocwindent{9.50em}
$\ocwupperid{Some}~(\ocwlowerid{tok},~\ocwlowerid{loc})$\ocweol
\ocwindent{7.50em}
\ocwkw{with}\ocweol
\ocwindent{7.50em}
$[~\ocwupperid{Stream.Error}~\ocwlowerid{str}~\rightarrow{}$\ocweol
\ocwindent{8.50em}
\ocwkw{let}~$\ocwlowerid{bp}~=~\ocwupperid{Stream.}\ocwlowerid{count}~\ocwlowerid{cstrm}~$\ocwkw{in}\ocweol
\ocwindent{8.50em}
\ocwkw{let}~$\ocwlowerid{loc}~=~\ocwupperid{Loc.}\ocwlowerid{move}~`\ocwlowerid{start}~\ocwlowerid{bp}~(\ocwupperid{Loc.}\ocwlowerid{move}~`\ocwlowerid{stop}~(\ocwlowerid{bp}+1)~\ocwlowerid{init\_loc})~$\ocwkw{in}\ocweol
\ocwindent{8.50em}
$\ocwlowerid{err}~\ocwlowerid{loc}~\ocwlowerid{str}~])$\ocweol
\ocwindent{0.00em}
;\ocweol
\ocwindent{0.00em}
\ocwkw{end};~\ocweol
\ocweol
\ocwendcode{}\typeout{OcamlWeb file Sanskrit.mli}
\ocwinterface{Sanskrit}
\label{sanskrit.mli:0}%
......@@ -4532,270 +4796,6 @@ $\ocwlowerid{read\_raw\_skt\_stream}~\ocwlowerid{encode}~(\ocwupperid{Stream.}\o
\ocwindent{0.00em}
\ocweol
\ocweol
\ocwendcode{}\typeout{OcamlWeb file Skt_lexer.ml}
\ocwmodule{Skt\_lexer}
\label{skt_lexer.ml:0}%
A simple lexer recognizing idents, integers, punctuation symbols,
and skipping spaces and comments between % and eol.
The transliteration scheme is Velthuis with aa for long a etc.
\ocweol
\label{skt_lexer.ml:813}%
\medskip
\ocwbegincode{}\ocwindent{0.00em}
\ocwkw{module}~$\ocwupperid{Skt\_lexer}~=~$\ocwkw{struct}\medskip
\label{skt_lexer.ml:840}%
\ocwindent{0.00em}
\ocwkw{open}~$\ocwupperid{Camlp4.PreCast};$\ocweol
\ocwindent{0.00em}
\ocwkw{open}~$\ocwupperid{Format};$\medskip
\label{skt_lexer.ml:875}%
\ocwindent{1.00em}
\ocwkw{module}~$\ocwupperid{Loc}~=~\ocwupperid{Loc};~$\ocwbc{} Using the PreCast Loc \ocwec{}\ocweol
\ocwindent{1.00em}
\ocwkw{module}~$\ocwupperid{Error}~=~$\ocwkw{struct}\ocweol
\ocwindent{2.00em}
\ocwkw{type}~$\ocwlowerid{t}~=~$\ocwbt{string};\ocweol
\ocwindent{2.00em}
\ocwkw{exception}~$\ocwupperid{E}~$\ocwkw{of}~$\ocwlowerid{t};$\ocweol
\ocwindent{2.00em}
$\ocwlowerid{value}~\ocwlowerid{to\_string}~\ocwlowerid{x}~=~\ocwlowerid{x};$\ocweol
\ocwindent{2.00em}
$\ocwlowerid{value}~\ocwlowerid{print}~=~\ocwupperid{Format.}\ocwlowerid{pp\_print\_string};$\ocweol
\ocwindent{1.00em}
\ocwkw{end};\ocweol
\ocwindent{1.00em}
\ocwkw{module}~$\ocwupperid{Token}~=~$\ocwkw{struct}\ocweol
\ocwindent{2.00em}
\ocwkw{module}~$\ocwupperid{Loc}~=~\ocwupperid{Loc};~$\ocweol
\ocwindent{2.00em}
\ocwkw{type}~$\ocwlowerid{t}~=$\ocweol
\ocwindent{3.00em}
$[~\ocwupperid{KEYWORD}~$\ocwkw{of}~\ocwbt{string}\ocweol
\ocwindent{3.00em}
$\mid{}~\ocwupperid{IDENT}~$\ocwkw{of}~\ocwbt{string}~\ocweol
\ocwindent{3.00em}
$\mid{}~\ocwupperid{INT}~$\ocwkw{of}~\ocwbt{int}\ocweol
\ocwindent{3.00em}
$\mid{}~\ocwupperid{EOI}$\ocweol
\ocwindent{3.00em}
$]$\ocweol
\ocwindent{2.00em}
;\ocweol
\ocwindent{2.00em}
\ocwkw{module}~$\ocwupperid{Error}~=~\ocwupperid{Error};$\ocweol
\ocwindent{2.00em}
\ocwkw{module}~$\ocwupperid{Filter}~=~$\ocwkw{struct}\ocweol
\ocwindent{3.00em}
\ocwkw{type}~$\ocwlowerid{token\_filter}~=~\ocwupperid{Camlp4.Sig.}\ocwlowerid{stream\_filter}~\ocwlowerid{t}~\ocwupperid{Loc.}\ocwlowerid{t}$\ocweol
\ocwindent{3.00em}
;\ocweol
\ocwindent{3.00em}
\ocwkw{type}~$\ocwlowerid{t}~=~$\ocwbt{string}~$\rightarrow{}~$\ocwbt{bool}\ocweol
\ocwindent{3.00em}
;\ocweol
\ocwindent{3.00em}
$\ocwlowerid{value}~\ocwlowerid{mk}~\ocwlowerid{is\_kwd}~=~\ocwlowerid{is\_kwd}$\ocweol
\ocwindent{3.00em}
;\ocweol
\ocwindent{3.00em}
$\ocwlowerid{value}~$\ocwkw{rec}~$\ocwlowerid{filter}~\ocwlowerid{is\_kwd}~=~$\ocwkw{parser}\ocweol
\ocwindent{4.00em}
$[~[:~`((\ocwupperid{KEYWORD}~\ocwlowerid{s},~\ocwlowerid{loc})~$\ocwkw{as}~$\ocwlowerid{p});~\ocwlowerid{strm}~:]~\rightarrow{}$\ocweol
\ocwindent{6.50em}
\ocwkw{if}~$\ocwlowerid{is\_kwd}~\ocwlowerid{s}~\lor{}~\ocwlowerid{s}~=~$\ocwstring{"!"}~\ocwkw{then}~$[:~`\ocwlowerid{p};~\ocwlowerid{filter}~\ocwlowerid{is\_kwd}~\ocwlowerid{strm}~:]$\ocweol
\ocwindent{6.50em}
\ocwkw{else}~$\ocwlowerid{raise}~(\ocwupperid{Encode.In\_error}~($\ocwstring{"Undefined\ocwvspace{}token\ocwvspace{}:\ocwvspace{}"}~\^{}~$\ocwlowerid{s}))$\ocweol
\ocwindent{4.00em}
$\mid{}~[:~`\ocwlowerid{x};~\ocwlowerid{s}~:]~\rightarrow{}~[:~`\ocwlowerid{x};~\ocwlowerid{filter}~\ocwlowerid{is\_kwd}~\ocwlowerid{s}~:]$\ocweol
\ocwindent{4.00em}
$\mid{}~[:~:]~\rightarrow{}~[:~:]~$\ocweol
\ocwindent{4.00em}
$]~$\ocweol
\ocwindent{3.00em}
;\ocweol
\ocwindent{3.00em}
$\ocwlowerid{value}~\ocwlowerid{define\_filter}~\ocwlowerid{\_}~\ocwlowerid{\_}~=~()$\ocweol
\ocwindent{3.00em}
;\ocweol
\ocwindent{3.00em}
$\ocwlowerid{value}~\ocwlowerid{keyword\_added}~\ocwlowerid{\_}~\ocwlowerid{\_}~\ocwlowerid{\_}~=~()$\ocweol
\ocwindent{3.00em}
;\ocweol
\ocwindent{3.00em}
$\ocwlowerid{value}~\ocwlowerid{keyword\_removed}~\ocwlowerid{\_}~\ocwlowerid{\_}~=~()$\ocweol
\ocwindent{3.00em}
;\ocweol
\ocwindent{2.00em}
\ocwkw{end}\ocweol
\ocwindent{2.00em}
;\ocweol
\ocwindent{2.00em}
$\ocwlowerid{value}~\ocwlowerid{to\_string}~=~$\ocwkw{fun}\ocweol
\ocwindent{3.00em}
$[~\ocwupperid{KEYWORD}~\ocwlowerid{s}~\rightarrow{}~\ocwlowerid{sprintf}~$\ocwstring{"KEYWORD\ocwvspace{}\%S"}~$\ocwlowerid{s}$\ocweol
\ocwindent{3.00em}
$\mid{}~\ocwupperid{IDENT}~\ocwlowerid{s}~\rightarrow{}~\ocwlowerid{sprintf}~$\ocwstring{"IDENT\ocwvspace{}\%S"}~$\ocwlowerid{s}$\ocweol
\ocwindent{3.00em}
$\mid{}~\ocwupperid{INT}~\ocwlowerid{i}~\rightarrow{}~\ocwlowerid{sprintf}~$\ocwstring{"INT\ocwvspace{}\%d"}~$\ocwlowerid{i}$\ocweol
\ocwindent{3.00em}
$\mid{}~\ocwupperid{EOI}~\rightarrow{}~$\ocwstring{"EOI"}\ocweol
\ocwindent{3.00em}
$]$\ocweol
\ocwindent{2.00em}
;\ocweol
\ocwindent{2.00em}
$\ocwlowerid{value}~\ocwlowerid{print}~\ocwlowerid{ppf}~\ocwlowerid{x}~=~\ocwlowerid{pp\_print\_string}~\ocwlowerid{ppf}~(\ocwlowerid{to\_string}~\ocwlowerid{x})$\ocweol
\ocwindent{2.00em}
;\ocweol
\ocwindent{2.00em}
$\ocwlowerid{value}~\ocwlowerid{match\_keyword}~\ocwlowerid{kwd}~=~$\ocwkw{fun}\ocweol
\ocwindent{3.00em}
$[~\ocwupperid{KEYWORD}~\ocwlowerid{kwd'}~$\ocwkw{when}~$\ocwlowerid{kwd'}~=~\ocwlowerid{kwd}~\rightarrow{}~\ocwupperid{True}$\ocweol
\ocwindent{3.00em}
$\mid{}~\ocwlowerid{\_}~\rightarrow{}~\ocwupperid{False}$\ocweol
\ocwindent{3.00em}
$]$\ocweol
\ocwindent{2.00em}
;\ocweol
\ocwindent{2.00em}
$\ocwlowerid{value}~\ocwlowerid{extract\_string}~=~$\ocwkw{fun}\ocweol
\ocwindent{3.00em}
$[~\ocwupperid{INT}~\ocwlowerid{i}~\rightarrow{}~\ocwlowerid{string\_of\_int}~\ocwlowerid{i}$\ocweol
\ocwindent{3.00em}
$\mid{}~\ocwupperid{IDENT}~\ocwlowerid{s}~\mid{}~\ocwupperid{KEYWORD}~\ocwlowerid{s}~\rightarrow{}~\ocwlowerid{s}$\ocweol
\ocwindent{3.00em}
$\mid{}~\ocwupperid{EOI}~\rightarrow{}~$\ocwstring{""}~\ocweol
\ocwindent{3.00em}
$]$\ocweol
\ocwindent{2.00em}
;\ocweol
\ocwindent{1.00em}
\ocwkw{end}\ocweol
\ocwindent{1.00em}
;\medskip
\label{skt_lexer.ml:2388}%
\ocwindent{1.00em}
\ocwkw{open}~$\ocwupperid{Token}$\ocweol
\ocwindent{1.00em}
;\medskip
\ocwendcode{}\ocwindent{0.00em}
The string buffering machinery - ddr + np
\ocweol
\label{skt_lexer.ml:2454}%
\medskip
\ocwbegincode{}\ocwindent{0.00em}
$\ocwlowerid{value}~\ocwlowerid{store}~\ocwlowerid{buf}~\ocwlowerid{c}~=~$\ocwkw{do}~\{~$\ocwupperid{Buffer.}\ocwlowerid{add\_char}~\ocwlowerid{buf}~\ocwlowerid{c};~\ocwlowerid{buf}~\}$\ocweol
\ocwindent{0.00em}
;\ocweol
\ocwindent{0.00em}
$\ocwlowerid{value}~$\ocwkw{rec}~$\ocwlowerid{number}~\ocwlowerid{buf}~=$\ocweol
\ocwindent{1.00em}
\ocwkw{parser}\ocweol
\ocwindent{1.00em}
$[~[:~`(\verb!'0'!..\verb!'9'!~$\ocwkw{as}~$\ocwlowerid{c});~\ocwlowerid{s}~:]~\rightarrow{}~\ocwlowerid{number}~(\ocwlowerid{store}~\ocwlowerid{buf}~\ocwlowerid{c})~\ocwlowerid{s}$\ocweol
\ocwindent{1.00em}
$\mid{}~[:~:]~\rightarrow{}~\ocwupperid{Buffer.}\ocwlowerid{contents}~\ocwlowerid{buf}$\ocweol
\ocwindent{1.00em}
$]$\ocweol
\ocwindent{0.00em}
;\ocweol
\ocwindent{0.00em}
$\ocwlowerid{value}~$\ocwkw{rec}~$\ocwlowerid{skip\_to\_eol}~=$\ocweol
\ocwindent{1.00em}
\ocwkw{parser}\ocweol
\ocwindent{1.00em}
$[~[:~`\verb!'\n'!~\mid{}~\verb!'\026'!~\mid{}~\verb!'\012'!;~\ocwlowerid{s}~:]~\rightarrow{}~()$\ocweol
\ocwindent{1.00em}
$\mid{}~[:~`\ocwlowerid{c}~;~\ocwlowerid{s}~:]~\rightarrow{}~\ocwlowerid{skip\_to\_eol}~\ocwlowerid{s}~$\ocweol
\ocwindent{1.00em}
$]$\ocweol
\ocwindent{0.00em}
;\ocweol
\ocwindent{0.00em}
$\ocwlowerid{value}~\ocwlowerid{ident\_char}~=$\ocweol
\ocwindent{1.00em}
\ocwkw{parser}~\ocweol
\ocwindent{1.00em}
$[~[:~`(\verb!'a'!..\verb!'z'!~\mid{}~\verb!'A'!..\verb!'Z'!~\mid{}~\verb!'.'!~\mid{}~\verb!':'!~\mid{}~\verb!'"'!~\mid{}~\verb!'~'!~\mid{}~\verb!'\''!~\mid{}~\verb!'+'!~\mid{}~\verb!'-'!~\mid{}~\verb!'$'!~$\ocwkw{as}~$\ocwlowerid{c})~:]~$\ocweol
\ocwindent{2.00em}
$\rightarrow{}~\ocwlowerid{c}~]$\ocweol
\ocwindent{0.00em}
;\ocweol
\ocwindent{0.00em}
$\ocwlowerid{value}~$\ocwkw{rec}~$\ocwlowerid{ident}~\ocwlowerid{buff}~=$\ocweol
\ocwindent{1.00em}
\ocwkw{parser}\ocweol
\ocwindent{1.00em}
$[~[:~\ocwlowerid{c}~=~\ocwlowerid{ident\_char};~\ocwlowerid{s}~:]~\rightarrow{}~\ocwlowerid{ident}~(\ocwlowerid{store}~\ocwlowerid{buff}~\ocwlowerid{c})~\ocwlowerid{s}$\ocweol
\ocwindent{1.00em}
$\mid{}~[:~:]~\rightarrow{}~\ocwupperid{Buffer.}\ocwlowerid{contents}~\ocwlowerid{buff}$\ocweol
\ocwindent{1.00em}
$]$\ocweol
\ocwindent{0.00em}
;\ocweol
\ocwindent{0.00em}
$\ocwlowerid{value}~\ocwlowerid{next\_token\_fun}~=$\ocweol
\ocwindent{1.00em}
\ocwkw{let}~\ocwkw{rec}~$\ocwlowerid{next\_token}~\ocwlowerid{buff}~=$\ocweol
\ocwindent{3.00em}
\ocwkw{parser}~$\ocwlowerid{\_bp}$\ocweol
\ocwindent{3.00em}
$[~[:~\ocwlowerid{c}~=~\ocwlowerid{ident\_char};~\ocwlowerid{s}~=~\ocwlowerid{ident}~(\ocwlowerid{store}~\ocwlowerid{buff}~\ocwlowerid{c})~:]~\rightarrow{}~\ocwupperid{IDENT}~\ocwlowerid{s}$\ocweol
\ocwindent{3.00em}
$\mid{}~[:~`(\verb!'0'!..\verb!'9'!~$\ocwkw{as}~$\ocwlowerid{c});~\ocwlowerid{s}~=~\ocwlowerid{number}~(\ocwlowerid{store}~\ocwlowerid{buff}~\ocwlowerid{c})~:]~\rightarrow{}~\ocwupperid{INT}~(\ocwlowerid{int\_of\_string}~\ocwlowerid{s})$\ocweol
\ocwindent{3.00em}
$\mid{}~[:~`\ocwlowerid{c}~:]~\ocwlowerid{\_ep}~\rightarrow{}~\ocwupperid{KEYWORD}~(\ocwupperid{String.}\ocwlowerid{make}~1~\ocwlowerid{c})$\ocweol
\ocwindent{3.00em}
$]~$\ocwkw{in}\ocweol
\ocwindent{2.00em}
\ocwkw{let}~\ocwkw{rec}~$\ocwlowerid{next\_token\_loc}~=$\ocweol
\ocwindent{3.00em}
\ocwkw{parser}~$\ocwlowerid{bp}$\ocweol
\ocwindent{3.00em}
$[~[:~`\verb!'%'!;~\ocwlowerid{\_}~=~\ocwlowerid{skip\_to\_eol};~\ocwlowerid{s}~:]~\rightarrow{}~\ocwlowerid{next\_token\_loc}~\ocwlowerid{s}~$\ocwbc{} comments skipped \ocwec{}\ocweol
\ocwindent{3.00em}
$\mid{}~[:~`\verb!' '!~\mid{}~\verb!'\n'!~\mid{}~\verb!'\r'!~\mid{}~\verb!'\t'!~\mid{}~\verb!'\026'!~\mid{}~\verb!'\012'!;~\ocwlowerid{s}~:]~\rightarrow{}~\ocwlowerid{next\_token\_loc}~\ocwlowerid{s}$\ocweol
\ocwindent{3.00em}
$\mid{}~[:~\ocwlowerid{tok}~=~\ocwlowerid{next\_token}~(\ocwupperid{Buffer.}\ocwlowerid{create}~80)~:]~\ocwlowerid{ep}~\rightarrow{}~(\ocwlowerid{tok},~(\ocwlowerid{bp},~\ocwlowerid{ep}))$\ocweol
\ocwindent{3.00em}
$\mid{}~[:~\ocwlowerid{\_}~=~\ocwupperid{Stream.}\ocwlowerid{empty}~:]~\rightarrow{}~(\ocwupperid{EOI},~(\ocwlowerid{bp},~\ocwlowerid{succ}~\ocwlowerid{bp}))$\ocweol
\ocwindent{3.00em}
$]~$\ocwkw{in}\ocweol
\ocwindent{0.50em}
$\ocwlowerid{next\_token\_loc}$\ocweol
\ocwindent{0.00em}
;\ocweol
\ocwindent{0.00em}
$\ocwlowerid{value}~\ocwlowerid{mk}~()~=$\ocweol
\ocwindent{0.50em}
\ocwkw{let}~$\ocwlowerid{err}~\ocwlowerid{loc}~\ocwlowerid{msg}~=~\ocwupperid{Loc.}\ocwlowerid{raise}~\ocwlowerid{loc}~(\ocwupperid{Token.Error.E}~\ocwlowerid{msg})~$\ocwkw{in}\ocweol
\ocwindent{0.50em}
\ocwkw{fun}~$\ocwlowerid{init\_loc}~\ocwlowerid{cstrm}~\rightarrow{}~\ocwupperid{Stream.}\ocwlowerid{from}~$\ocweol
\ocwindent{2.50em}
$($\ocwkw{fun}~$\ocwlowerid{\_}~\rightarrow{}~$\ocwkw{try}~\ocwkw{let}~$(\ocwlowerid{tok},~(\ocwlowerid{bp},~\ocwlowerid{ep}))~=~\ocwlowerid{next\_token\_fun}~\ocwlowerid{cstrm}~$\ocwkw{in}\ocweol
\ocwindent{9.50em}
\ocwkw{let}~$\ocwlowerid{loc}~=~\ocwupperid{Loc.}\ocwlowerid{move}~`\ocwlowerid{start}~\ocwlowerid{bp}~(\ocwupperid{Loc.}\ocwlowerid{move}~`\ocwlowerid{stop}~\ocwlowerid{ep}~\ocwlowerid{init\_loc})~$\ocwkw{in}\ocweol
\ocwindent{9.50em}
$\ocwupperid{Some}~(\ocwlowerid{tok},~\ocwlowerid{loc})$\ocweol
\ocwindent{7.50em}
\ocwkw{with}\ocweol
\ocwindent{7.50em}
$[~\ocwupperid{Stream.Error}~\ocwlowerid{str}~\rightarrow{}$\ocweol
\ocwindent{8.50em}
\ocwkw{let}~$\ocwlowerid{bp}~=~\ocwupperid{Stream.}\ocwlowerid{count}~\ocwlowerid{cstrm}~$\ocwkw{in}\ocweol
\ocwindent{8.50em}
\ocwkw{let}~$\ocwlowerid{loc}~=~\ocwupperid{Loc.}\ocwlowerid{move}~`\ocwlowerid{start}~\ocwlowerid{bp}~(\ocwupperid{Loc.}\ocwlowerid{move}~`\ocwlowerid{stop}~(\ocwlowerid{bp}+1)~\ocwlowerid{init\_loc})~$\ocwkw{in}\ocweol
\ocwindent{8.50em}
$\ocwlowerid{err}~\ocwlowerid{loc}~\ocwlowerid{str}~])$\ocweol
\ocwindent{0.00em}
;\ocweol
\ocwindent{0.00em}
\ocwkw{end};~\ocweol
\ocweol
\ocwendcode{}\typeout{OcamlWeb file Test_stamp.ml}
\ocwmodule{Test\_stamp}
\label{test_stamp.ml:0}%
......@@ -30370,7 +30370,8 @@ $\ocwlowerid{value}~\ocwlowerid{build\_infinitive}~\ocwlowerid{c}~\ocwlowerid{in
;~$\ocwlowerid{enter1}~\ocwlowerid{root}~(\ocwupperid{Inftu}~\ocwlowerid{c}~(\ocwlowerid{fix}~\ocwlowerid{inf\_stem}~$\ocwstring{"tu"}$))~$\ocwbc{} Xtu-kaama compounds \ocwec{}\ocweol
\ocwindent{0.00em}
\ocwbc{} NB. bahuv cpds in -kaama and -manas constructed with infinitives in -tu
See Renou HLS p72 from Patanjali; also Assimil p194 eg tyaktukaama
See Renou HLS p72 from Patanjali; Renou grammaire §107 dagdhukaama
also Assimil p194 eg tyaktukaama
anu.s.thaatukaama \ocwstring{"desirious\ocwvspace{}to\ocwvspace{}proceed"} vaktukaama \ocwstring{"who\ocwvspace{}wants\ocwvspace{}to\ocwvspace{}speak"}
dra.s.tumanas \ocwstring{"inclined\ocwvspace{}to\ocwvspace{}see"} \ocwec{}\ocweol
\ocwindent{1.00em}
......@@ -30437,7 +30438,7 @@ $\ocwlowerid{iter}~($\ocwkw{fun}~$\ocwlowerid{st}~\rightarrow{}~\ocwlowerid{peri
\ocwendcode{}\ocwindent{0.00em}
Passive future participle in -ya and -aniiya in all conjugations
\ocweol
\label{verbs.ml:164732}%
\label{verbs.ml:164769}%
\medskip
\ocwbegincode{}\ocwindent{0.00em}
$\ocwlowerid{value}~\ocwlowerid{palatal\_exception}~\ocwlowerid{root}~=~\ocwupperid{List.}\ocwlowerid{mem}~\ocwlowerid{root}$\ocweol
......@@ -30700,7 +30701,7 @@ $\ocwlowerid{value}~\ocwlowerid{record\_pfp\_10}~\ocwlowerid{entry}~\ocwlowerid{
\ocwendcode{}\ocwindent{0.00em}
Absolutive and Past Participle
\ocweol
\label{verbs.ml:170463}%
\label{verbs.ml:170500}%
\medskip
\ocwbegincode{}\ocwindent{0.00em}
$\ocwlowerid{value}~\ocwlowerid{record\_part\_ppp}~\ocwlowerid{ppstem}~\ocwlowerid{entry}~=~$\ocwkw{do}~\ocweol
......@@ -31167,7 +31168,7 @@ $\ocwlowerid{record\_absolutive}~\ocwupperid{Desiderative}~\ocwlowerid{abs\_stem
\ocwendcode{}\ocwindent{0.00em}
Intensive or frequentative
\ocweol
\label{verbs.ml:180598}%
\label{verbs.ml:180635}%
\medskip
\ocwbegincode{}\ocwindent{0.00em}
$\ocwlowerid{value}~\ocwlowerid{compute\_intensive\_presenta}~\ocwlowerid{strong}~\ocwlowerid{weak}~\ocwlowerid{iiflag}~\ocwlowerid{entry}~=$\ocweol
......@@ -31350,7 +31351,7 @@ rather than a table. \ocwec{}\medskip
\ocwendcode{}\ocwindent{0.00em}
Similar to \ocwbegindcode{}$\ocwlowerid{compute\_active\_present3}$\ocwenddcode{} with Intensive, plus optional ii forms
\ocweol
\label{verbs.ml:183798}%
\label{verbs.ml:183835}%
\medskip
\ocwbegincode{}\ocwindent{0.00em}
$\ocwlowerid{value}~\ocwlowerid{compute\_intensivea}~\ocwlowerid{wstem}~\ocwlowerid{sstem}~\ocwlowerid{entry}~\ocwlowerid{third}~=~$\ocweol
......@@ -31389,7 +31390,7 @@ $\ocwlowerid{compute\_athematic\_present3m}~\ocwupperid{Intensive}~\ocwlowerid{i
\ocwendcode{}\ocwindent{0.00em}
Present system
\ocweol
\label{verbs.ml:184675}%
\label{verbs.ml:184712}%
\medskip
\ocwbegincode{}\ocwindent{0.00em}
$\ocwlowerid{value}~\ocwlowerid{compute\_present\_system}~\ocwlowerid{entry}~\ocwlowerid{rstem}~\ocwlowerid{gana}~\ocwlowerid{pada}~\ocwlowerid{third}~=~$\ocweol
......@@ -31982,7 +31983,7 @@ Passive system
NB. For gana 4 verbs passive differs from middle mostly by accent
but distinction necessary since different regime
\ocweol
\label{verbs.ml:199482}%
\label{verbs.ml:199519}%
\medskip
\ocwbegincode{}\ocwindent{0.00em}
$\ocwlowerid{value}~\ocwlowerid{compute\_passive\_primary}~\ocwlowerid{entry}~\ocwlowerid{ps\_stem}~=~$\ocweol
......@@ -32158,7 +32159,7 @@ BEWARE. the entry forms given in the next two functions must be in normalized
form - no non-genuine anusvaara
This should be replaced by the recording of the 3rd sg form, like others.
\ocweol
\label{verbs.ml:204333}%
\label{verbs.ml:204370}%
\medskip
\ocwbegincode{}\ocwindent{0.00em}
$\ocwlowerid{value}~\ocwlowerid{den\_stem\_a}~\ocwlowerid{entry}~=~$\ocwbc{} in general transitive Whitney§1059c \ocwec{}\ocweol
......@@ -32906,7 +32907,7 @@ Various Vedic subjunctives needed for citations Whitney§562
\ocwindent{0.00em}
No attempt for full paradigms, only specific attested forms
\ocweol
\label{verbs.ml:222475}%
\label{verbs.ml:222512}%
\medskip
\ocwbegincode{}\ocwindent{0.00em}
$\ocwlowerid{value}~\ocwlowerid{compute\_subjunctives}~()~=$\ocweol
......@@ -32975,37 +32976,7 @@ $\ocwlowerid{enter\_subjunctivea}~\ocwupperid{Intensive}~\ocwlowerid{root}~\ocwl
\ocwindent{0.00em}
;\medskip
\ocwendcode{}\ocwindent{0.00em}
Extra participial forms - intensive, desiderative, no present, etc
\ocweol
\label{verbs.ml:224047}%
\medskip
\ocwbegincode{}\ocwindent{0.00em}
$\ocwlowerid{value}~\ocwlowerid{compute\_extra\_participles}~()~=~$\ocwkw{do}\ocweol
\ocwindent{1.00em}
\{~$\ocwlowerid{record\_part\_ppp}~(\ocwlowerid{revstem}~$\ocwstring{"gupta"}$)~$\ocwstring{"gup"}~\ocwbc{} gup gana 10 \ocwec{}\ocweol
\ocwindent{1.00em}
;~$\ocwlowerid{record\_part\_ppp}~(\ocwlowerid{revstem}~$\ocwstring{"zaata"}$)~$\ocwstring{"zaa"}~\ocweol
\ocwindent{1.00em}
;~$\ocwlowerid{record\_part\_ppp}~(\ocwlowerid{revstem}~$\ocwstring{"kaanta"}$)~$\ocwstring{"kam"}~\ocweol
\ocwindent{1.00em}
;~$\ocwlowerid{record\_part\_ppp}~(\ocwlowerid{revstem}~$\ocwstring{"k.sita"}$)~$\ocwstring{"k.sii"}~\ocweol
\ocwindent{1.00em}
;~$\ocwlowerid{record\_part\_ppp}~(\ocwlowerid{revstem}~$\ocwstring{"spa.s.ta"}$)~$\ocwstring{"spaz\#1"}\ocweol
\ocwindent{1.00em}
;~$\ocwlowerid{record\_part}~(\ocwupperid{Ppra\_}~1~\ocwupperid{Intensive}~(\ocwlowerid{revstem}~$\ocwstring{"jaajam"}$)~(\ocwlowerid{revstem}~$\ocwstring{"jaajamat"}$)~$\ocwstring{"jam"}$)$\ocweol
\ocwindent{1.00em}
;~$\ocwlowerid{record\_pfp}~$\ocwstring{"d.r\#1"}~$(\ocwlowerid{revcode}~$\ocwstring{"d.r"}$)$\ocweol
\ocwindent{1.00em}
;~$\ocwlowerid{record\_pfp}~$\ocwstring{"vadh"}~$(\ocwlowerid{revcode}~$\ocwstring{"vadh"}$)$\ocweol
\ocwindent{1.00em}
;~$\ocwlowerid{record\_part}~(\ocwupperid{Pprm\_}~1~\ocwupperid{Primary}~(\ocwlowerid{revcode}~$\ocwstring{"gacchamaana"}$)~$\ocwstring{"gam"}$)$\ocweol
\ocwindent{1.00em}
;~$\ocwlowerid{record\_part}~(\ocwupperid{Pprm\_}~4~\ocwupperid{Primary}~(\ocwlowerid{revcode}~$\ocwstring{"kaayamaana"}$)~$\ocwstring{"kan"}$)$\ocweol
\ocwindent{1.00em}
\}\ocweol
\ocwindent{0.00em}
;\ocweol
\label{verbs.ml:224011}%
\ocwindent{0.00em}
$\ocwlowerid{value}~\ocwlowerid{compute\_auxi\_kridantas}~()~=~$\ocweol
\ocwindent{1.00em}
......@@ -33209,6 +33180,36 @@ $\ocwlowerid{compute\_passive}~\ocwlowerid{conj}~\ocwlowerid{root}~\ocwlowerid{p
\ocwindent{0.00em}
;\ocweol
\ocwindent{0.00em}
\ocwbc{} Extra participial forms - intensive, desiderative, no present, etc \ocwec{}\ocweol
\ocwindent{0.00em}
$\ocwlowerid{value}~\ocwlowerid{record\_extra\_participles}~()~=~$\ocwkw{do}\ocweol
\ocwindent{1.00em}
\{~$\ocwlowerid{record\_part\_ppp}~(\ocwlowerid{revstem}~$\ocwstring{"gupta"}$)~$\ocwstring{"gup"}~\ocwbc{} gup gana 10 \ocwec{}\ocweol
\ocwindent{1.00em}
;~$\ocwlowerid{record\_part\_ppp}~(\ocwlowerid{revstem}~$\ocwstring{"zaata"}$)~$\ocwstring{"zaa"}~\ocweol
\ocwindent{1.00em}
;~$\ocwlowerid{record\_part\_ppp}~(\ocwlowerid{revstem}~$\ocwstring{"kaanta"}$)~$\ocwstring{"kam"}~\ocweol
\ocwindent{1.00em}
;~$\ocwlowerid{record\_part\_ppp}~(\ocwlowerid{revstem}~$\ocwstring{"k.sita"}$)~$\ocwstring{"k.sii"}~\ocweol
\ocwindent{1.00em}
;~$\ocwlowerid{record\_part\_ppp}~(\ocwlowerid{revstem}~$\ocwstring{"spa.s.ta"}$)~$\ocwstring{"spaz\#1"}\ocweol
\ocwindent{1.00em}
;~$\ocwlowerid{record\_part}~(\ocwupperid{Ppra\_}~1~\ocwupperid{Intensive}~(\ocwlowerid{revstem}~$\ocwstring{"jaajam"}$)~(\ocwlowerid{revstem}~$\ocwstring{"jaajamat"}$)~$\ocwstring{"jam"}$)$\ocweol
\ocwindent{1.00em}
;~$\ocwlowerid{record\_pfp}~$\ocwstring{"d.r\#1"}~$(\ocwlowerid{revcode}~$\ocwstring{"d.r"}$)$\ocweol
\ocwindent{1.00em}
;~$\ocwlowerid{record\_pfp}~$\ocwstring{"vadh"}~$(\ocwlowerid{revcode}~$\ocwstring{"vadh"}$)$\ocweol
\ocwindent{1.00em}
;~$\ocwlowerid{record\_part}~(\ocwupperid{Pprm\_}~1~\ocwupperid{Primary}~(\ocwlowerid{revcode}~$\ocwstring{"gacchamaana"}$)~$\ocwstring{"gam"}$)$\ocweol
\ocwindent{1.00em}
;~$\ocwlowerid{record\_part}~(\ocwupperid{Pprm\_}~4~\ocwupperid{Primary}~(\ocwlowerid{revcode}~$\ocwstring{"kaayamaana"}$)~$\ocwstring{"kan"}$)$\ocweol
\ocwindent{1.00em}
;~$\ocwlowerid{record\_part}~(\ocwupperid{Ppra\_}~1~\ocwupperid{Primary}~(\ocwlowerid{revstem}~$\ocwstring{".dam"}$)~(\ocwlowerid{revstem}~$\ocwstring{".damat"}$)~$\ocwstring{".dam"}$)$\ocweol
\ocwindent{1.00em}
\}\ocweol
\ocwindent{0.00em}
;\ocweol
\ocwindent{0.00em}
\ocwbc{} For verbs without present forms and variants, \ocwec{}\ocweol
\ocwindent{0.00em}
\ocwbc{} called by \ocwbegindcode{}$\ocwupperid{Make\_roots}.\ocwlowerid{roots\_to\_conjugs}$\ocwenddcode{} at generation time \ocwec{}\ocweol
......@@ -33301,9 +33302,9 @@ $\ocwlowerid{value}~\ocwlowerid{compute\_extra}~()~=~$\ocwkw{do}\ocweol
\ocwindent{2.00em}
$\ocwlowerid{compute\_desiderativea}~\ocwlowerid{st}~$\ocwstring{"saadh"}~$[\,]$\ocweol
\ocwindent{1.00em}
;~$\ocwlowerid{compute\_participles}~()$\ocweol
;~$\ocwlowerid{record\_extra\_participles}~()~$\ocweol
\ocwindent{1.00em}
;~$\ocwlowerid{compute\_extra\_participles}~()~$\ocweol
;~$\ocwlowerid{compute\_participles}~()$\ocweol
\ocwindent{1.00em}
;~$\ocwlowerid{compute\_auxi\_kridantas}~()~$\ocweol
\ocwindent{1.00em}
......@@ -42896,9 +42897,9 @@ $\ocwlowerid{value}~\ocwlowerid{insert}~((\ocwlowerid{pen},\ocwlowerid{min}),\oc
\ocwindent{0.00em}
;\ocweol
\ocwindent{0.00em}
\ocwbc{} Forget absolute penalties of solutions with minimal length penalty \ocwec{}\ocweol
\ocwbc{} Forget absolute penalties of solutions with minimal length penalty. \ocwec{}\ocweol
\ocwindent{0.00em}
\ocwbc{} also used to erase constraints - thus do not eta-reduce !!! \ocwec{}\ocweol
\ocwbc{} Also used to erase constraints - thus do not eta-reduce !!! \ocwec{}\ocweol
\ocwindent{0.00em}
$\ocwlowerid{value}~\ocwlowerid{trim}~\ocwlowerid{x}~=~\ocwupperid{List.}\ocwlowerid{map}~\ocwlowerid{snd}~\ocwlowerid{x}~$\ocweol
\ocwindent{0.00em}
......@@ -43018,7 +43019,7 @@ $\ocwlowerid{dove\_tail}~\ocwlowerid{filter\_mode}~\ocwlowerid{constrained\_segs
\ocwindent{0.00em}
;\medskip
\label{rank.ml:7573}%
\label{rank.ml:7574}%
\ocwindent{0.00em}
$\ocwlowerid{value}~\ocwlowerid{segment\_all}~\ocwlowerid{filter\_mode}~\ocwlowerid{chunks}~\ocwlowerid{cpts}~=~$\ocweol
\ocwindent{1.00em}
......@@ -48930,7 +48931,7 @@ $\ocwlowerid{value}~\ocwlowerid{segment\_chunk}~(\ocwlowerid{full},\ocwlowerid{c
\ocwindent{5.50em}
\{~$\ocwlowerid{reset\_counter}~()$\ocweol
\ocwindent{5.50em}
;~$(\ocwlowerid{full},\ocwupperid{Num.}\ocwlowerid{mult\_num}~\ocwlowerid{count}~(\ocwupperid{Num.Int}~\ocwlowerid{local\_count}))$\ocweol
;~$(\ocwlowerid{full},\ocwlowerid{count}\times{}\ocwlowerid{local\_count})~$\ocwbc{} overflow may compute modulo \ocwec{}\ocweol
\ocwindent{6.50em}
\ocwbc{} we have \ocwbegindcode{}$\ocwlowerid{local\_count}$\ocwenddcode{} segmentations of the local \ocwbegindcode{}$\ocwlowerid{chunk}$\ocwenddcode{}, and,
chunks being independent, the total number of solutions multiply \ocwec{}\ocweol
......@@ -48945,9 +48946,9 @@ $\ocwlowerid{value}~\ocwlowerid{segment\_chunk}~(\ocwlowerid{full},\ocwlowerid{c
\ocwindent{0.00em}
;\ocweol