Difference between revisions of "Finnish"
Jump to navigation
Jump to search
TommiPirinen (talk | contribs) |
TommiPirinen (talk | contribs) |
||
Line 5: | Line 5: | ||
== Grammar stuff == |
== Grammar stuff == |
||
+ | Common formulas: |
||
+ | |||
+ | === Adposition to case suffix === |
||
+ | |||
+ | |||
+ | <pre> |
||
+ | <section-def-macros> |
||
+ | <def-macro n="adp-mangler" npar="1"> |
||
+ | <choose> |
||
+ | <!-- adp to case mappigngs --> |
||
+ | <!-- based on adp lexeme only --> |
||
+ | <when> |
||
+ | <test> |
||
+ | <equal><clip pos="1" side="sl" part="lem"/><lit v="I"/></equal> |
||
+ | </test> |
||
+ | <let> |
||
+ | <var n="adpcase"/> |
||
+ | <lit-tag v="ine"/> |
||
+ | </let> |
||
+ | <let> |
||
+ | <var n="maybeadp"/> |
||
+ | <lit v=""/> |
||
+ | </let> |
||
+ | </when> |
||
+ | <when> |
||
+ | <test> |
||
+ | <equal><clip pos="1" side="sl" part="lem"/><lit v="i"/></equal> |
||
+ | </test> |
||
+ | <let> |
||
+ | <var n="adpcase"/> |
||
+ | <lit-tag v="ine"/> |
||
+ | </let> |
||
+ | <let> |
||
+ | <var n="maybeadp"/> |
||
+ | <lit v=""/> |
||
+ | </let> |
||
+ | </when> |
||
+ | <when> |
||
+ | <test> |
||
+ | <equal><clip pos="1" side="sl" part="lem"/><lit v="fra"/></equal> |
||
+ | </test> |
||
+ | <let> |
||
+ | <var n="adpcase"/> |
||
+ | <lit-tag v="ela"/> |
||
+ | </let> |
||
+ | <let> |
||
+ | <var n="maybeadp"/> |
||
+ | <lit v=""/> |
||
+ | </let> |
||
+ | </when> |
||
+ | ... |
||
+ | ... |
||
+ | ... |
||
+ | <rule comment="adp noun"> |
||
+ | <pattern> |
||
+ | <pattern-item n="adp"/> |
||
+ | <pattern-item n="noun"/> |
||
+ | </pattern> |
||
+ | <action> |
||
+ | <call-macro n="adp-mangler"> |
||
+ | <with-param pos="1"/> |
||
+ | </call-macro> |
||
+ | <out> |
||
+ | <chunk name="adpnoun" case="caseFirstWord"> |
||
+ | <tags> |
||
+ | <tag><lit-tag v="NP"/></tag> |
||
+ | <tag><var n="adpcase"/></tag> |
||
+ | </tags> |
||
+ | <lu> |
||
+ | <clip pos="2" side="tl" part="lem"/> |
||
+ | <clip pos="2" side="tl" part="a_noun"/> |
||
+ | <clip pos="2" side="tl" part="a_number"/> |
||
+ | <var n="adpcase"/> |
||
+ | </lu> |
||
+ | <b pos="0"/> |
||
+ | <lu> |
||
+ | <var n="maybeadp"/> |
||
+ | </lu> |
||
+ | </chunk> |
||
+ | </out> |
||
+ | </action> |
||
+ | </rule> |
||
+ | |||
+ | </pre> |
||
Revision as of 12:21, 16 February 2021
- apertium-fin is a conversion from omorfi: omorfi, large coverage, experimental
- giella-fin is in giellatekno repository, more stable
Contents
Grammar stuff
Common formulas:
Adposition to case suffix
<section-def-macros> <def-macro n="adp-mangler" npar="1"> <choose> <!-- adp to case mappigngs --> <!-- based on adp lexeme only --> <when> <test> <equal><clip pos="1" side="sl" part="lem"/><lit v="I"/></equal> </test> <let> <var n="adpcase"/> <lit-tag v="ine"/> </let> <let> <var n="maybeadp"/> <lit v=""/> </let> </when> <when> <test> <equal><clip pos="1" side="sl" part="lem"/><lit v="i"/></equal> </test> <let> <var n="adpcase"/> <lit-tag v="ine"/> </let> <let> <var n="maybeadp"/> <lit v=""/> </let> </when> <when> <test> <equal><clip pos="1" side="sl" part="lem"/><lit v="fra"/></equal> </test> <let> <var n="adpcase"/> <lit-tag v="ela"/> </let> <let> <var n="maybeadp"/> <lit v=""/> </let> </when> ... ... ... <rule comment="adp noun"> <pattern> <pattern-item n="adp"/> <pattern-item n="noun"/> </pattern> <action> <call-macro n="adp-mangler"> <with-param pos="1"/> </call-macro> <out> <chunk name="adpnoun" case="caseFirstWord"> <tags> <tag><lit-tag v="NP"/></tag> <tag><var n="adpcase"/></tag> </tags> <lu> <clip pos="2" side="tl" part="lem"/> <clip pos="2" side="tl" part="a_noun"/> <clip pos="2" side="tl" part="a_number"/> <var n="adpcase"/> </lu> <b pos="0"/> <lu> <var n="maybeadp"/> </lu> </chunk> </out> </action> </rule>