Difference between revisions of "Northern Sámi and Norwegian/Compounds"
Jump to navigation
Jump to search
| Line 15: | Line 15: | ||
Each rule sets the "cmp-lu" variable to the first lu, and calls "out_cmp_nom". |
Each rule sets the "cmp-lu" variable to the first lu, and calls "out_cmp_nom". |
||
The macro "out_cmp_nom" sets the case-prep, defnes, chunk gender/number, |
The macro "out_cmp_nom" sets the case-prep, defnes, chunk gender/number, c_def_pos (position of defnes tag in the chunk), and outputs |
||
<pre> |
<pre> |
||
<chunk name="cmp_nom" case="caseFirstWord"> |
<chunk name="cmp_nom" case="caseFirstWord"> |
||
Revision as of 14:28, 16 May 2010
Compounds in sme->nob come in many shapes, those ending in a nominal include eg.:
- mielbargin
^miel<ShCmp><@←PPRED>$ ^bargat<V><TV><Der2><Actor><N><Ess>$ - vuođđofága
^vuođđu<N><Sg><Nom><Cmp><@HNOUN>$ ^fága<N><Sg><Nom>$ - allaskuvla
^allat<A><Attr><@→N>$ ^skuvla<N><Sg><Nom>$ - politiijastašuvnna
^politiija<N><Sg><Nom><Cmp><@HNOUN>$ ^stašuvdna<N><Sg><Gen>$
We could generalise some by having an output macro out_cmp_nom that that takes the nominal and assumes that variable "cmp-lu" is set to the first lexical unit. Then we need four rules for the above:
<pattern-item n="cmp"><pattern-item n="verb"><pattern-item n="cmp"><pattern-item n="nom"><pattern-item n="adj"><pattern-item n="nom"><pattern-item n="nom"><pattern-item n="nom">
Each rule sets the "cmp-lu" variable to the first lu, and calls "out_cmp_nom".
The macro "out_cmp_nom" sets the case-prep, defnes, chunk gender/number, c_def_pos (position of defnes tag in the chunk), and outputs
<chunk name="cmp_nom" case="caseFirstWord">
<tags>
<tag><lit-tag v="SN"/></tag>
<tag><var n="c_syn"/></tag>
<tag><clip pos="1" side="sl" part="mode"/></tag>
<tag><var n="c_gen"/></tag>
<tag><var n="c_nbr"/></tag>
<tag><var n="defnes"/></tag>
<tag><clip pos="1" side="tl" part="case"/></tag>
</tags>
<var n="cmp-lu"/>
<lu>
<clip pos="1" side="tl" part="lemh"/>
<clip pos="1" side="tl" part="a_nom"/>
<clip pos="1" side="tl" part="gen"/>
<clip pos="1" side="tl" part="nbr"/>
<var n="c_tag_pos"/>
<clip pos="1" side="tl" part="gen-case"/>
<clip pos="1" side="tl" part="lemq"/>
</lu>
</chunk>
(where pos="1" is the argument given to out_cmp_nom, ie. the nominal which becomes the second part of the chunk)