<?xml version="1.0" encoding="UTF-8"?>
<!-- -*- nxml -*- -->
<postchunk>
<section-def-cats>
<def-cat n="n">
<cat-item name="nn"/>
</def-cat>
<def-cat n="n_n">
<cat-item name="n_n"/>
</def-cat>
<def-cat n="n_n_n">
<cat-item name="n_n_n"/>
</def-cat>
<def-cat n="n_n_n_n">
<cat-item name="n_n_n_n"/>
</def-cat>
<def-cat n="adj2vblex">
<cat-item name="adj2vblex"/>
</def-cat>
<def-cat n="adj">
<cat-item name="adj"/>
</def-cat>
<def-cat n="det2adj">
<cat-item name="det2adj"/>
</def-cat>
<!-- N og N: -->
<def-cat n="n_cnjcoo_n">
<cat-item name="n_cnjcoo_n"/>
</def-cat>
<def-cat n="n_cnjcoo_adj_n">
<cat-item name="n_cnjcoo_adj_n"/>
</def-cat>
<def-cat n="n_n_cnjcoo_n">
<cat-item name="n_n_cnjcoo_n"/>
</def-cat>
<def-cat n="n_cnjcoo_n_n">
<cat-item name="n_cnjcoo_n_n"/>
</def-cat>
<def-cat n="n_cnjcoo_det_adj_n">
<cat-item name="n_cnjcoo_det_adj_n"/>
</def-cat>
<def-cat n="adj_cnjcoo_adj_n">
<cat-item name="adj_cnjcoo_adj_n"/>
</def-cat>
<def-cat n="adj_cnjcoo_adj_adj_n">
<cat-item name="adj_cnjcoo_adj_adj_n"/>
</def-cat>
<def-cat n="adj_cnjcoo_adj_n_n">
<cat-item name="adj_cnjcoo_adj_n_n"/>
</def-cat>
<def-cat n="n_adj_cnjcoo_adj_n_n">
<cat-item name="n_adj_cnjcoo_adj_n_n"/>
</def-cat>
<!-- ADJ N+ -->
<def-cat n="adj_n">
<cat-item name="adj_n"/>
</def-cat>
<def-cat n="adj_n_n">
<cat-item name="adj_n_n"/>
</def-cat>
<def-cat n="adj_n_n_n">
<cat-item name="adj_n_n_n"/>
</def-cat>
<def-cat n="adj_n_n_n_n">
<cat-item name="adj_n_n_n_n"/>
</def-cat>
<!-- ADJ ADJ N+ -->
<def-cat n="adj_adj_n">
<cat-item name="adj_adj_n"/>
</def-cat>
<def-cat n="adj_adj_n_n">
<cat-item name="adj_adj_n_n"/>
</def-cat>
<def-cat n="adj_adj_n_n_n">
<cat-item name="adj_adj_n_n_n"/>
</def-cat>
<def-cat n="adj_adj_n_n_n_n">
<cat-item name="adj_adj_n_n_n_n"/>
</def-cat>
<!-- ADJ ADJ ADJ N+ -->
<def-cat n="adj_adj_adj_n">
<cat-item name="adj_adj_adj_n"/>
</def-cat>
<def-cat n="adj_adj_adj_n_n">
<cat-item name="adj_adj_adj_n_n"/>
</def-cat>
<def-cat n="adj_adj_adj_n_n_n">
<cat-item name="adj_adj_adj_n_n_n"/>
</def-cat>
<def-cat n="adj_adj_adj_n_n_n_n">
<cat-item name="adj_adj_adj_n_n_n_n"/>
</def-cat>
<def-cat n="n_adj_n">
<cat-item name="n_adj_n"/>
</def-cat>
<!-- NCMP+ ADJ N+ -->
<!-- others -->
<def-cat n="det">
<cat-item name="det"/>
<cat-item name="detdd"/>
<cat-item name="detsin"/>
<cat-item name="detpos-keep"/>
</def-cat>
<def-cat n="detsin">
<cat-item name="detsin"/>
</def-cat>
<def-cat n="prn">
<cat-item name="prn"/>
</def-cat>
<def-cat n="vblex">
<cat-item name="vblex"/>
</def-cat>
</section-def-cats>
<section-def-attrs>
<def-attr n="a_adj">
<attr-item tags="adj"/>
<attr-item tags="adj.pp"/>
<attr-item tags="adj.pprs"/>
<attr-item tags="adj.ord"/>
<attr-item tags="adj.sint"/>
</def-attr>
<def-attr n="grau">
<attr-item tags="pst"/>
<attr-item tags="comp"/>
<attr-item tags="sup"/>
</def-attr>
<def-attr n="xgrau">
<attr-item tags="xpst"/>
<attr-item tags="xpsts"/>
<attr-item tags="xpsto"/>
<attr-item tags="xcomp"/>
<attr-item tags="xsup"/>
</def-attr>
<def-attr n="gen">
<attr-item tags="m"/>
<attr-item tags="mf"/>
<attr-item tags="nt"/>
<attr-item tags="f"/>
<attr-item tags="GD"/>
</def-attr>
<def-attr n="art">
<attr-item tags="def"/>
<attr-item tags="ind"/>
</def-attr>
<def-attr n="cas">
<attr-item tags="nom"/>
<attr-item tags="gen"/>
<attr-item tags="acc"/>
<attr-item tags="CD"/>
</def-attr>
<def-attr n="a_casedrop" c="Mark that we'd like to drop gen-case in t3x">
<attr-item tags="casedrop"/>
</def-attr>
<def-attr n="a_defdrop" c="Mark that we'd like to change defnes to ind in t3x">
<attr-item tags="defdrop"/>
<attr-item tags="gendefdrop"/> <!-- the object would like to drop the genitive's defnes -->
</def-attr>
<def-attr n="a_verb">
<attr-item tags="vblex"/>
<attr-item tags="vblex.pstv"/>
</def-attr>
<def-attr n="a_movable">
<attr-item tags="np-movable"/>
</def-attr>
<def-attr n="a_cmp">
<attr-item tags="cmp"/>
<attr-item tags="cmp-split"/>
</def-attr>
<def-attr n="temps">
<attr-item tags="inf"/>
<attr-item tags="imp"/>
<attr-item tags="pres"/>
<attr-item tags="pret"/>
<attr-item tags="pp"/>
</def-attr>
<def-attr n="voice">
<attr-item tags="pasv"/>
</def-attr>
<def-attr n="nbr">
<attr-item tags="sg"/>
<attr-item tags="pl"/>
<attr-item tags="sp"/>
<attr-item tags="ND"/>
</def-attr>
<def-attr n="a_chunknum">
<attr-item tags="chunknum"/>
</def-attr>
<def-attr n="a_po_sin">
<attr-item tags="po_sin"/>
</def-attr>
</section-def-attrs>
<section-def-vars>
<def-var n="space" v=" "/> <!-- TODO: v attribute doesn't seem to have any effect, have to let-bind it -->
</section-def-vars>
<section-def-lists>
<def-list n="adj-ind-def" c="Allow ind adj followed by def noun for these adv-like adjectives (tl/nno)">
<list-item v="mykje"/>
<list-item v="mellombels"/>
<list-item v="suverent"/>
<list-item v="verkeleg"/>
</def-list>
<def-list n="n-keep-pl.ind" c="Don't change ind→def on these nouns if pl, even if preceding adj gets def (tl/nno)">
<list-item v="par"/> <!-- de siste par timene -->
<list-item v="tusen"/> <!-- de flere tusen ansatte -->
<list-item v="juletid"/>
<list-item v="pandemitid"/>
<list-item v="koronatid"/>
<list-item v="påsketid"/>
<list-item v="breiddegrad"/>
<list-item v="tid"/>
<list-item v="dag"/>
</def-list>
<def-list n="n-keep-sg.ind" c="Don't change ind→def on these familiar nouns if sg, even if preceding adj gets def (tl/nno)">
<list-item v="mor"/>
<list-item v="oldemor"/>
<list-item v="tippoldemor"/>
<list-item v="tipptippoldemor"/>
<list-item v="svigermor"/>
<list-item v="vermor"/>
<list-item v="far"/>
<list-item v="oldefar"/>
<list-item v="tippoldefar"/>
<list-item v="tipptippoldefar"/>
<list-item v="svigerfar"/>
<list-item v="verfar"/>
<list-item v="søster"/>
<list-item v="bror"/>
<list-item v="versøster"/>
<list-item v="verbror"/>
<list-item v="svigersøster"/>
<list-item v="svigerbror"/>
<!-- <list-item v="tante"/> -->
<!-- <list-item v="onkel"/> -->
<list-item v="dotter"/>
<list-item v="dotterdotter"/>
<list-item v="svigerdotter"/>
<list-item v="son"/>
<list-item v="soneson"/>
<list-item v="svigerson"/>
<list-item v="bestemor"/>
<list-item v="bestefar"/>
<list-item v="stemor"/>
<list-item v="stefar"/>
<list-item v="stedotter"/>
<list-item v="steson"/>
<list-item v="morbror"/>
<list-item v="farbror"/>
<list-item v="moster"/>
<list-item v="faster"/>
<list-item v="halvsøster"/>
<list-item v="halvbror"/>
<list-item v="grunn"/> <!-- av den enkle grunn -->
<list-item v="teikn"/> <!-- det minste teikn -->
<list-item v="talsperson"/>
<list-item v="talsmann"/>
<list-item v="talskvinne"/>
<list-item v="spørsmål"/>
<list-item v="favør"/>
<list-item v="disfavør"/>
<list-item v="stengetid"/>
<list-item v="garde"/>
<list-item v="uhumske"/>
</def-list>
<def-list n="dem_sg_genders">
<list-item v="<m>"/>
<list-item v="<f>"/>
<list-item v="<nt>"/>
</def-list>
<def-list n="n_needs_det">
<list-item v="tilsett"/>
<list-item v="nytilsett"/>
<list-item v="bekjent"/>
<list-item v="kjent"/>
<list-item v="etterlatt"/>
<list-item v="tiltalt"/>
<list-item v="innsett"/>
<list-item v="medtiltalt"/>
<list-item v="hovudtiltalt"/>
</def-list>
<def-list n="months">
<list-item v="januar"/>
<list-item v="februar"/>
<list-item v="mars"/>
<list-item v="april"/>
<list-item v="mai"/>
<list-item v="juni"/>
<list-item v="juli"/>
<list-item v="august"/>
<list-item v="september"/>
<list-item v="oktober"/>
<list-item v="november"/>
<list-item v="desember"/>
</def-list>
<def-list n="bi-no-double-defnes-adj">
<list-item v="liten"/> <!-- det minste bevis -->
</def-list>
<def-list n="bi-no-double-defnes-n">
<list-item v="bevis"/>
</def-list>
<def-list n="no-samsvar" c="avoid «gåtte» etc.">
<list-item v="unngå"/>
<list-item v="gå"/>
<list-item v="få"/>
<list-item v="gi"/>
<list-item v="gje"/>
</def-list>
</section-def-lists>
<section-def-macros>
<def-macro n="out_adj" npar="2"
c="arg.1: adjective
arg.2: chunk
If we have a pp adj (verb used as adj), the lemq is a particle
which should be output before the adj, with no intervening space.">
<choose><when c="enhver aksjon er udiskutabel → alle aksjonar er udiskutable">
<test><equal><clip pos="2" part="a_chunknum"/><lit-tag v="chunknum"/></equal></test>
<let><clip pos="1" part="a_chunknum"/><lit v=""/></let>
<choose><when>
<test>
<not><in><clip pos="1" part="lem"/><list n="no-samsvar"/></in></not>
</test>
<let><clip pos="1" part="nbr"/><clip pos="2" part="nbr"/></let>
</when></choose>
<choose>
<when>
<test><equal><clip pos="1" part="nbr"/><lit-tag v="pl"/></equal></test>
<choose>
<when>
<test><equal><clip pos="1" part="temps"/><lit-tag v="pp"/></equal></test>
<let><clip pos="1" part="gen"/><lit v=""/></let>
<let><clip pos="1" part="art"/><lit v=""/></let>
</when>
<otherwise>
<let><clip pos="1" part="gen"/><lit-tag v="un"/></let>
<let><clip pos="1" part="art"/><lit-tag v="ind"/></let>
</otherwise>
</choose>
</when>
</choose>
</when></choose>
<choose><when>
<test><and>
<equal><clip pos="1" part="nbr"/><lit-tag v="sg"/></equal>
<equal><clip pos="1" part="art"/><lit v=""/></equal>
</and></test>
<let><clip pos="1" part="nbr"/><concat><clip pos="1" part="nbr"/><lit-tag v="def"/></concat></let>
<let><clip pos="1" part="gen"/><concat><lit v=""/></concat></let>
</when></choose>
<out><lu><clip pos="1" part="whole"/></lu></out>
<!-- This needs much more extensive testing: -->
<!-- <choose> -->
<!-- <when> -->
<!-- <test><equal><clip pos="1" part="temps"/><lit-tag v="pp"/></equal></test> -->
<!-- <out> -->
<!-- <lu><clip pos="1" part="lemq"/></lu> -->
<!-- <lu><clip pos="1" part="lemh"/><clip pos="1" part="tags"/></lu> -->
<!-- </out> -->
<!-- </when> -->
<!-- <otherwise> -->
<!-- <out><lu><clip pos="1" part="whole"/></lu></out> -->
<!-- </otherwise> -->
<!-- </choose> -->
</def-macro>
<def-macro n="apply_casedrop_defdrop" npar="2"
c="arg.1: noun, arg.2: chunk.">
<choose><when c="DEFDROP">
<test><equal><clip pos="2" part="a_defdrop"/><lit-tag v="defdrop"/></equal></test>
<let><clip pos="1" part="art"/><lit-tag v="ind"/></let>
</when></choose>
<choose><when c="CASEDROP">
<test><equal><clip pos="2" part="a_casedrop"/><lit-tag v="casedrop"/></equal></test>
<let><clip pos="1" part="cas"/><lit v=""/></let>
<choose c="genitive nominalisations of adj's">
<when>
<test><equal><clip pos="1" part="xgrau"/><lit-tag v="xpst"/></equal></test>
<let><clip pos="1" part="tags"/><lit-tag v="adj.pst.un.sp.def"/></let>
</when>
<when>
<test><equal><clip pos="1" part="xgrau"/><lit-tag v="xpsto"/></equal></test>
<let><clip pos="1" part="tags"/><lit-tag v="adj.ord.pst.un.sp.def"/></let>
</when>
<when>
<test><equal><clip pos="1" part="xgrau"/><lit-tag v="xpsts"/></equal></test>
<let><clip pos="1" part="tags"/><lit-tag v="adj.sint.pst.un.sp.def"/></let>
</when>
<when>
<test><equal><clip pos="1" part="xgrau"/><lit-tag v="xcomp"/></equal></test>
<let><clip pos="1" part="tags"/><lit-tag v="adj.sint.comp.un.sp"/></let>
</when>
<when>
<test><equal><clip pos="1" part="xgrau"/><lit-tag v="xsup"/></equal></test>
<let><clip pos="1" part="tags"/><lit-tag v="adj.sint.sup.un.sp.def"/></let>
</when>
</choose>
</when></choose>
</def-macro>
<def-macro n="clean_n" npar="2"
c="arg.1: noun, arg.2: chunk.
Nouns typically get chunk defnes.">
<choose><when>
<test><and>
<not><equal><clip pos="2" part="art"/><lit v=""/></equal></not>
<not><equal><clip pos="1" part="a_cmp"/><lit-tag v="cmp-split"/></equal></not>
<not><and>
<equal><clip pos="1" part="nbr"/><lit-tag v="sg"/></equal>
<in caseless="yes"><clip pos="1" part="lemh"/><list n="n-keep-sg.ind"/></in>
</and></not>
<not><and>
<equal><clip pos="1" part="nbr"/><lit-tag v="pl"/></equal>
<in caseless="yes"><clip pos="1" part="lemh"/><list n="n-keep-pl.ind"/></in>
</and></not>
</and></test>
<let><clip pos="1" part="art"/><clip pos="2" part="art"/></let>
</when></choose>
<choose><when c="force indefinite before 'sin' on n-keep-sg.ind">
<test><and>
<equal><clip pos="2" part="a_po_sin"/><lit-tag v="po_sin"/></equal>
<equal><clip pos="1" part="nbr"/><lit-tag v="sg"/></equal>
<in caseless="yes"><clip pos="1" part="lemh"/><list n="n-keep-sg.ind"/></in>
</and></test>
<let><clip pos="1" part="art"/><lit-tag v="ind"/></let>
</when></choose>
<choose><when c="som en hvilken som helst annen sak → som alle andre saker">
<test><equal><clip pos="2" part="a_chunknum"/><lit-tag v="chunknum"/></equal></test>
<let><clip pos="1" part="a_chunknum"/><lit v=""/></let>
<let><clip pos="1" part="nbr"/><clip pos="2" part="nbr"/></let>
</when></choose>
<call-macro n="apply_casedrop_defdrop"><with-param pos="1"/><with-param pos="2"/></call-macro>
</def-macro>
<def-macro n="out_ndem" npar="1"
c="arg.1: noun
Output the correct determiner for this noun.
This macro doesn't check that we actually *need* a determiner –
it's called by maybe_out_ndem/maybe_out_ndem2 which decide that.">
<let><var n="space"/><lit v=" "/></let>
<choose>
<when>
<test><and>
<in><clip pos="1" part="gen"/><list n="dem_sg_genders"/></in>
<equal><clip pos="1" part="nbr"/><lit-tag v="sg"/></equal>
</and></test>
<out>
<lu>
<lit v="den"/>
<lit-tag v="det.dem"/>
<clip pos="1" part="gen"/>
<lit-tag v="sg"/>
</lu>
</out>
</when>
<otherwise>
<out><lu><lit v="den"/><lit-tag v="det.dem.un.pl"/></lu></out>
</otherwise>
</choose>
<out><var n="space"/></out>
</def-macro>
<def-macro n="maybe_out_ndem" npar="2"
c="arg.1: noun, arg.2: chunk.
Use *before* clean_n
Hacky, only affects 'tilsett' when it's changed from ind to def.">
<choose><when>
<test><and>
<equal><clip pos="1" part="art"/><lit-tag v="ind"/></equal>
<equal><clip pos="2" part="art"/><lit-tag v="def"/></equal>
<equal><clip pos="2" part="a_defdrop"/><lit v=""/></equal>
<equal><clip pos="2" part="a_casedrop"/><lit v=""/></equal>
<in><clip pos="1" part="lem"/><list n="n_needs_det"/></in>
</and></test>
<call-macro n="out_ndem"><with-param pos="1"/></call-macro>
</when></choose>
</def-macro>
<def-macro n="maybe_out_ndem2" npar="3"
c="arg.1: noun, arg.2: adj, arg.2: chunk.
Use *after* clean_n.adj, where we know there's no immediately preceding determiner.
For chunks starting with adjs, we get the determiner in t2x,
but we can't do that with coordinations like n_cnjcoo_adj_n.
TODO: Remove determiner-adding in t2x altogether and do it all
in this file instead?">
<choose>
<when c="(selskapets) daglige leder → den daglege leiaren (i selskapet)">
<test><and>
<equal><clip pos="2" part="art"/><lit-tag v="def"/></equal>
<!-- Demand that chunk is def – this means we've done genitive movement
We don't want to insert determiners when we haven't done genitive movement,
since e.g. «Kværners kontantstrøm og finansielle.def stilling.ind» is fine
(the preceding s-genitive functions as the determiner).
-->
<equal><clip pos="3" part="art"/><lit-tag v="def"/></equal>
<equal><clip pos="2" part="a_defdrop"/><lit v=""/></equal>
<equal><clip pos="2" part="a_casedrop"/><lit v=""/></equal>
</and></test>
<call-macro n="out_ndem"><with-param pos="1"/></call-macro>
</when>
</choose>
</def-macro>
<def-macro n="clean_n.adj" npar="3"
c="arg.1: noun, arg.2: adjective, arg.3: chunk.
Nouns typically get chunk defnes.
Does *not* alter adjective definiteness (so directly usable on non-final adj's)">
<call-macro n="apply_casedrop_defdrop"><with-param pos="1"/><with-param pos="3"/></call-macro>
<choose><when c="enhver ny utsettelse → alle nye utsettelser">
<test><equal><clip pos="3" part="a_chunknum"/><lit-tag v="chunknum"/></equal></test>
<let><clip pos="1" part="a_chunknum"/><lit v=""/></let>
<let><clip pos="1" part="nbr"/><clip pos="3" part="nbr"/></let>
<let><clip pos="2" part="nbr"/><clip pos="3" part="nbr"/></let>
</when></choose>
<choose><when c="noun gets chunk defnes">
<test><and>
<not><equal><clip pos="3" part="art"/><lit v=""/></equal></not>
<not><equal><clip pos="1" part="a_cmp"/><lit-tag v="cmp-split"/></equal></not>
<not><and>
<equal><clip pos="2" part="nbr"/><lit-tag v="sg"/></equal>
<equal><clip pos="1" part="art"/><lit v=""/></equal>
</and></not>
<not><and>
<in><clip pos="1" part="lemh"/><list n="months"/></in>
<equal><clip pos="2" part="a_adj"/><lit-tag v="adj.ord"/></equal>
</and></not>
<not><and>
<in><clip pos="1" part="lemh"/><list n="bi-no-double-defnes-n"/></in>
<in><clip pos="2" part="lemh"/><list n="bi-no-double-defnes-adj"/></in>
</and></not>
<not><and>
<equal><clip pos="1" part="nbr"/><lit-tag v="sg"/></equal>
<in caseless="yes"><clip pos="1" part="lemh"/><list n="n-keep-sg.ind"/></in>
<!-- TODO: vil me ha «deres gamle sønn → den gamle son deira»? Viss ikkje, sjekk at adj.art=ind: -->
<!-- <equal><clip pos="2" part="art"/><lit-tag v="ind"/></equal> -->
</and></not>
<not><and>
<equal><clip pos="1" part="nbr"/><lit-tag v="pl"/></equal>
<in caseless="yes"><clip pos="1" part="lemh"/><list n="n-keep-pl.ind"/></in>
</and></not>
</and></test>
<let><clip pos="1" part="art"/><clip pos="3" part="art"/></let>
</when></choose>
<choose><when>
<test><and>
<equal><clip pos="2" part="nbr"/><lit-tag v="pl"/></equal>
<equal><clip pos="2" part="art"/><lit-tag v="def"/></equal>
</and></test>
<let><clip pos="2" part="nbr"/><lit-tag v="sp"/></let>
</when></choose>
<choose><when c="adj is def, fix adj tags">
<test><equal><clip pos="2" part="art"/><lit-tag v="def"/></equal></test>
<choose>
<when c="pp: always sg and no gender when def">
<test><equal><clip pos="2" part="temps"/><lit-tag v="pp"/></equal></test>
<let><clip pos="2" part="gen"/><lit v=""/></let>
<let><clip pos="2" part="nbr"/><lit-tag v="sg"/></let>
</when>
<otherwise c="pst/sup: always sp and un when def">
<let><clip pos="2" part="gen"/><lit-tag v="un"/></let>
<let><clip pos="2" part="nbr"/><lit-tag v="sp"/></let>
</otherwise>
</choose>
</when></choose>
</def-macro>
<def-macro n="clean_n.adj_defnes" npar="3"
c="arg.1: noun, arg.2: adjective, arg.3: chunk.
Nouns typically get chunk defnes.
Allow adjectives to turn definite (from chunk defnes), but not indefinite.">
<choose><when c="adj (ind) gets chunk defnes">
<test><and>
<equal><clip pos="2" part="art"/><lit-tag v="ind"/></equal>
<equal><clip pos="3" part="art"/><lit-tag v="def"/></equal>
<!-- avoid 'den meste viktige tingen' / 'dei mellombelse
tilsette': -->
<not><in><clip pos="2" part="lemh"/><list n="adj-ind-def"/></in></not>
</and></test>
<let><clip pos="2" part="art"/><clip pos="3" part="art"/></let>
</when></choose>
<call-macro n="clean_n.adj"><with-param pos="1"/><with-param pos="2"/><with-param pos="3"/></call-macro>
</def-macro>
<def-macro n="clean_det" npar="2"
c="arg.1: determiner, arg.2: chunk">
<let><clip pos="1" part="nbr"/><clip pos="2" part="nbr"/></let>
<let><clip pos="1" part="gen"/><clip pos="2" part="gen"/></let>
<choose><when>
<test><or>
<equal><clip pos="1" part="gen"/><lit-tag v="GD"/></equal>
<equal><clip pos="1" part="gen"/><lit-tag v="mf"/></equal>
</or></test>
<let><clip pos="1" part="gen"/><lit-tag v="m"/></let>
</when></choose>
</def-macro>
</section-def-macros>
<section-rules>
<rule comment="CHUNK: adj2vblex
boka kan leses => boka kan vert lese => boka kan lesast
boken leses => boka vart lese => boka vart lesen">
<pattern>
<pattern-item n="adj2vblex"/>
</pattern>
<action>
<choose><when>
<test>
<not><in><clip pos="1" part="lem"/><list n="no-samsvar"/></in></not>
</test>
<let><clip pos="1" part="tags"/><clip pos="0" part="tags"/></let>
</when></choose>
<let><clip pos="1" part="a_movable"/><lit v=""/></let>
<call-macro n="out_adj"><with-param pos="1"/><with-param pos="0"/></call-macro>
</action>
</rule>
<rule comment="CHUNK: adj">
<pattern>
<pattern-item n="adj"/>
</pattern>
<action>
<call-macro n="out_adj"><with-param pos="1"/><with-param pos="0"/></call-macro>
</action>
</rule>
<rule comment="CHUNK: det2adj">
<pattern>
<pattern-item n="det2adj"/>
</pattern>
<action>
<let><clip pos="1" part="gen"/><clip pos="0" part="gen"/></let>
<out><lu><clip pos="1" part="whole"/></lu></out>
</action>
</rule>
<rule comment="CHUNK: vblex">
<pattern>
<pattern-item n="vblex"/>
</pattern>
<action>
<choose>
<when><test><and>
<equal><clip pos="0" part="tags"/><lit-tag v="vblex.inf.pasv"/></equal>
<equal><clip pos="1" part="temps"/><lit-tag v="pp"/></equal>
</and></test>
<out>
<lu>
<clip pos="1" part="lemh"/>
<clip pos="1" part="a_verb"/>
<clip pos="0" part="temps"/>
<clip pos="0" part="voice"/>
<clip pos="1" part="lemq"/>
</lu>
</out>
</when>
<otherwise>
<out><lu><clip pos="1" part="whole"/></lu></out>
</otherwise>
</choose>
</action>
</rule>
<rule comment="CHUNK: prn">
<pattern>
<pattern-item n="prn"/>
</pattern>
<action>
<choose><when>
<test><equal><clip pos="1" part="gen"/><lit-tag v="GD"/></equal></test>
<choose><when>
<test><in><clip pos="0" part="gen"/><list n="dem_sg_genders"/></in></test>
<let><clip pos="1" part="gen"/><clip pos="0" part="gen"/></let>
</when></choose>
<choose><when>
<test><and>
<equal><clip pos="1" part="lemh"/><lit v="han"/></equal>
<equal><clip pos="1" part="gen"/><lit-tag v="f"/></equal>
</and></test>
<let><clip pos="1" part="lemh"/><lit v="ho"/></let>
</when></choose>
</when></choose>
<out>
<lu><clip pos="1" part="whole"/></lu>
</out>
</action>
</rule>
<rule comment="CHUNK: det">
<pattern>
<pattern-item n="det"/>
</pattern>
<action>
<call-macro n="clean_det"><with-param pos="1"/><with-param pos="0"/></call-macro>
<choose><when>
<test><not><equal><clip pos="1" part="lemh"/><lit v=""/></equal></not></test>
<out>
<lu><clip pos="1" part="whole"/></lu>
</out>
</when></choose>
</action>
</rule>
<!-- N+ -->
<rule comment="CHUNK: n">
<pattern>
<pattern-item n="n"/>
</pattern>
<action>
<call-macro n="maybe_out_ndem"><with-param pos="1"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n"><with-param pos="1"/><with-param pos="0"/></call-macro>
<out>
<lu><clip pos="1" part="whole"/></lu>
</out>
</action>
</rule>
<rule comment="CHUNK: n_n">
<pattern>
<pattern-item n="n_n"/>
</pattern>
<action>
<call-macro n="maybe_out_ndem"><with-param pos="2"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n"><with-param pos="2"/><with-param pos="0"/></call-macro>
<out>
<lu><clip pos="1" part="whole"/></lu><b/>
<lu><clip pos="2" part="whole"/></lu>
</out>
</action>
</rule>
<rule comment="CHUNK: n_n_n">
<pattern>
<pattern-item n="n_n_n"/>
</pattern>
<action>
<call-macro n="maybe_out_ndem"><with-param pos="3"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n"><with-param pos="3"/><with-param pos="0"/></call-macro>
<out>
<lu><clip pos="1" part="whole"/></lu><b/>
<lu><clip pos="2" part="whole"/></lu><b/>
<lu><clip pos="3" part="whole"/></lu>
</out>
</action>
</rule>
<rule comment="CHUNK: n_n_n_n">
<pattern>
<pattern-item n="n_n_n_n"/>
</pattern>
<action>
<call-macro n="maybe_out_ndem"><with-param pos="4"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n"><with-param pos="4"/><with-param pos="0"/></call-macro>
<out>
<lu><clip pos="1" part="whole"/></lu><b/>
<lu><clip pos="2" part="whole"/></lu><b/>
<lu><clip pos="3" part="whole"/></lu><b/>
<lu><clip pos="4" part="whole"/></lu>
</out>
</action>
</rule>
<!-- N og N: -->
<rule comment="CHUNK: n_cnjcoo_n">
<pattern>
<pattern-item n="n_cnjcoo_n"/>
</pattern>
<action>
<call-macro n="maybe_out_ndem"><with-param pos="1"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n"><with-param pos="1"/><with-param pos="0"/></call-macro>
<out>
<lu><clip pos="1" part="whole"/></lu>
<b pos="1"/>
<lu><clip pos="2" part="whole"/></lu>
<b pos="2"/>
</out>
<call-macro n="maybe_out_ndem"><with-param pos="3"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n"><with-param pos="3"/><with-param pos="0"/></call-macro>
<out>
<lu><clip pos="3" part="whole"/></lu>
</out>
</action>
</rule>
<rule comment="CHUNK: n_cnjcoo_adj_n">
<pattern>
<pattern-item n="n_cnjcoo_adj_n"/>
</pattern>
<action>
<call-macro n="maybe_out_ndem"><with-param pos="1"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n"><with-param pos="1"/><with-param pos="0"/></call-macro>
<out>
<lu><clip pos="1" part="whole"/></lu>
<b pos="1"/>
<lu><clip pos="2" part="whole"/></lu>
<b pos="2"/>
</out>
<call-macro n="clean_n.adj_defnes"><with-param pos="4"/><with-param pos="3"/><with-param pos="0"/></call-macro>
<call-macro n="maybe_out_ndem2"><with-param pos="4"/><with-param pos="3"/><with-param pos="0"/></call-macro>
<call-macro n="out_adj"><with-param pos="3"/><with-param pos="0"/></call-macro>
<out>
<b pos="3"/>
<lu><clip pos="4" part="whole"/></lu>
</out>
</action>
</rule>
<rule comment="CHUNK: n_n_cnjcoo_n">
<pattern>
<pattern-item n="n_n_cnjcoo_n"/>
</pattern>
<action>
<call-macro n="maybe_out_ndem"><with-param pos="2"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n"><with-param pos="2"/><with-param pos="0"/></call-macro>
<out>
<lu><clip pos="1" part="whole"/></lu>
<b/>
<lu><clip pos="2" part="whole"/></lu>
<b/>
<lu><clip pos="3" part="whole"/></lu>
<b/>
</out>
<call-macro n="maybe_out_ndem"><with-param pos="4"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n"><with-param pos="4"/><with-param pos="0"/></call-macro>
<out>
<lu><clip pos="4" part="whole"/></lu>
</out>
</action>
</rule>
<rule comment="CHUNK: n_cnjcoo_n_n">
<pattern>
<pattern-item n="n_cnjcoo_n_n"/>
</pattern>
<action>
<call-macro n="maybe_out_ndem"><with-param pos="1"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n"><with-param pos="1"/><with-param pos="0"/></call-macro>
<out>
<lu><clip pos="1" part="whole"/></lu>
<b pos="1"/>
<lu><clip pos="2" part="whole"/></lu>
<b pos="2"/>
</out>
<call-macro n="maybe_out_ndem"><with-param pos="4"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n"><with-param pos="4"/><with-param pos="0"/></call-macro>
<out>
<lu><clip pos="3" part="whole"/></lu><b/>
<lu><clip pos="4" part="whole"/></lu>
</out>
</action>
</rule>
<rule comment="CHUNK: n_cnjcoo_det_adj_n">
<pattern>
<pattern-item n="n_cnjcoo_det_adj_n"/>
</pattern>
<action>
<call-macro n="maybe_out_ndem"><with-param pos="1"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n"><with-param pos="1"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n.adj_defnes"><with-param pos="5"/><with-param pos="4"/><with-param pos="0"/></call-macro>
<call-macro n="clean_det"><with-param pos="3"/><with-param pos="0"/></call-macro>
<out>
<lu><clip pos="1" part="whole"/></lu>
<b pos="1"/>
<lu><clip pos="2" part="whole"/></lu>
<b pos="2"/>
<lu><clip pos="3" part="whole"/></lu>
<b pos="3"/>
<lu><clip pos="4" part="whole"/></lu>
<b pos="4"/>
<lu><clip pos="5" part="whole"/></lu>
</out>
</action>
</rule>
<rule comment="CHUNK: adj_cnjcoo_adj_n">
<pattern>
<pattern-item n="adj_cnjcoo_adj_n"/>
</pattern>
<action>
<call-macro n="clean_n.adj"><with-param pos="4"/><with-param pos="1"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n.adj_defnes"><with-param pos="4"/><with-param pos="3"/><with-param pos="0"/></call-macro>
<call-macro n="out_adj"><with-param pos="1"/><with-param pos="0"/></call-macro>
<out>
<b pos="1"/>
<lu><clip pos="2" part="whole"/></lu>
<b pos="2"/>
</out>
<call-macro n="out_adj"><with-param pos="3"/><with-param pos="0"/></call-macro>
<out>
<b pos="3"/>
<lu><clip pos="4" part="whole"/></lu>
</out>
</action>
</rule>
<rule comment="CHUNK: adj_cnjcoo_adj_adj_n">
<pattern>
<pattern-item n="adj_cnjcoo_adj_adj_n"/>
</pattern>
<action>
<call-macro n="clean_n.adj"><with-param pos="5"/><with-param pos="1"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n.adj"><with-param pos="5"/><with-param pos="3"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n.adj_defnes"><with-param pos="5"/><with-param pos="4"/><with-param pos="0"/></call-macro>
<call-macro n="out_adj"><with-param pos="1"/><with-param pos="0"/></call-macro>
<out>
<b/>
<lu><clip pos="2" part="whole"/></lu>
<b/>
</out>
<call-macro n="out_adj"><with-param pos="3"/><with-param pos="0"/></call-macro>
<out><b/></out>
<call-macro n="out_adj"><with-param pos="4"/><with-param pos="0"/></call-macro>
<out>
<b/>
<lu><clip pos="5" part="whole"/></lu>
</out>
</action>
</rule>
<rule comment="CHUNK: adj_cnjcoo_adj_n_n">
<pattern>
<pattern-item n="adj_cnjcoo_adj_n_n"/>
</pattern>
<action>
<call-macro n="clean_n.adj"><with-param pos="5"/><with-param pos="1"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n.adj_defnes"><with-param pos="5"/><with-param pos="3"/><with-param pos="0"/></call-macro>
<call-macro n="out_adj"><with-param pos="1"/><with-param pos="0"/></call-macro>
<out>
<b/>
<lu><clip pos="2" part="whole"/></lu>
<b/>
</out>
<call-macro n="out_adj"><with-param pos="3"/><with-param pos="0"/></call-macro>
<out>
<b/>
<lu><clip pos="4" part="whole"/></lu><b/>
<lu><clip pos="5" part="whole"/></lu>
</out>
</action>
</rule>
<rule comment="CHUNK: n_adj_cnjcoo_adj_n_n">
<pattern>
<pattern-item n="n_adj_cnjcoo_adj_n_n"/>
</pattern>
<action>
<call-macro n="clean_n.adj"><with-param pos="6"/><with-param pos="2"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n.adj_defnes"><with-param pos="6"/><with-param pos="4"/><with-param pos="0"/></call-macro>
<out><lu><clip pos="1" part="whole"/></lu></out> <!-- robot -->
<call-macro n="out_adj"><with-param pos="2"/><with-param pos="0"/></call-macro> <!-- fine -->
<out>
<b/>
<b/>
<lu><clip pos="3" part="whole"/></lu> <!-- og -->
<b/>
</out>
<call-macro n="out_adj"><with-param pos="4"/><with-param pos="0"/></call-macro>
<out>
<b/>
<lu><clip pos="5" part="whole"/></lu><b/>
<lu><clip pos="6" part="whole"/></lu>
</out>
</action>
</rule>
<!-- ADJ N+ -->
<rule comment="CHUNK: adj_n">
<pattern>
<pattern-item n="adj_n"/>
</pattern>
<action>
<call-macro n="clean_n.adj_defnes"><with-param pos="2"/><with-param pos="1"/><with-param pos="0"/></call-macro>
<call-macro n="out_adj"><with-param pos="1"/><with-param pos="0"/></call-macro>
<out>
<b pos="1"/>
<lu><clip pos="2" part="whole"/></lu>
</out>
</action>
</rule>
<rule comment="CHUNK: adj_n_n">
<pattern>
<pattern-item n="adj_n_n"/>
</pattern>
<action>
<call-macro n="clean_n.adj_defnes"><with-param pos="3"/><with-param pos="1"/><with-param pos="0"/></call-macro>
<call-macro n="out_adj"><with-param pos="1"/><with-param pos="0"/></call-macro>
<out>
<b pos="1"/>
<lu><clip pos="2" part="whole"/></lu><b/>
<lu><clip pos="3" part="whole"/></lu>
</out>
</action>
</rule>
<rule comment="CHUNK: adj_n_n_n">
<pattern>
<pattern-item n="adj_n_n_n"/>
</pattern>
<action>
<call-macro n="clean_n.adj_defnes"><with-param pos="4"/><with-param pos="1"/><with-param pos="0"/></call-macro>
<call-macro n="out_adj"><with-param pos="1"/><with-param pos="0"/></call-macro>
<out>
<b pos="1"/>
<lu><clip pos="2" part="whole"/></lu><b/>
<lu><clip pos="3" part="whole"/></lu><b/>
<lu><clip pos="4" part="whole"/></lu>
</out>
</action>
</rule>
<rule comment="CHUNK: adj_n_n_n_n">
<pattern>
<pattern-item n="adj_n_n_n_n"/>
</pattern>
<action>
<call-macro n="clean_n.adj_defnes"><with-param pos="5"/><with-param pos="1"/><with-param pos="0"/></call-macro>
<call-macro n="out_adj"><with-param pos="1"/><with-param pos="0"/></call-macro>
<out>
<b pos="1"/>
<lu><clip pos="2" part="whole"/></lu><b/>
<lu><clip pos="3" part="whole"/></lu><b/>
<lu><clip pos="4" part="whole"/></lu><b/>
<lu><clip pos="5" part="whole"/></lu>
</out>
</action>
</rule>
<!-- ADJ ADJ N+ -->
<rule comment="CHUNK: adj_adj_n">
<pattern>
<pattern-item n="adj_adj_n"/>
</pattern>
<action>
<call-macro n="clean_n.adj"><with-param pos="3"/><with-param pos="1"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n.adj_defnes"><with-param pos="3"/><with-param pos="2"/><with-param pos="0"/></call-macro>
<call-macro n="out_adj"><with-param pos="1"/><with-param pos="0"/></call-macro>
<out>
<b pos="1"/>
</out>
<call-macro n="out_adj"><with-param pos="2"/><with-param pos="0"/></call-macro>
<out>
<b pos="2"/>
<lu><clip pos="3" part="whole"/></lu>
</out>
</action>
</rule>
<rule comment="CHUNK: adj_adj_n_n">
<pattern>
<pattern-item n="adj_adj_n_n"/>
</pattern>
<action>
<call-macro n="clean_n.adj"><with-param pos="4"/><with-param pos="1"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n.adj_defnes"><with-param pos="4"/><with-param pos="2"/><with-param pos="0"/></call-macro>
<call-macro n="out_adj"><with-param pos="1"/><with-param pos="0"/></call-macro>
<out>
<b pos="1"/>
</out>
<call-macro n="out_adj"><with-param pos="2"/><with-param pos="0"/></call-macro>
<out>
<b pos="2"/>
<lu><clip pos="3" part="whole"/></lu><b/>
<lu><clip pos="4" part="whole"/></lu>
</out>
</action>
</rule>
<rule comment="CHUNK: adj_adj_n_n_n">
<pattern>
<pattern-item n="adj_adj_n_n_n"/>
</pattern>
<action>
<call-macro n="clean_n.adj"><with-param pos="5"/><with-param pos="1"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n.adj_defnes"><with-param pos="5"/><with-param pos="2"/><with-param pos="0"/></call-macro>
<call-macro n="out_adj"><with-param pos="1"/><with-param pos="0"/></call-macro>
<out>
<b pos="1"/>
</out>
<call-macro n="out_adj"><with-param pos="2"/><with-param pos="0"/></call-macro>
<out>
<b pos="2"/>
<lu><clip pos="3" part="whole"/></lu><b/>
<lu><clip pos="4" part="whole"/></lu><b/>
<lu><clip pos="5" part="whole"/></lu>
</out>
</action>
</rule>
<rule comment="CHUNK: adj_adj_n_n_n_n">
<pattern>
<pattern-item n="adj_adj_n_n_n_n"/>
</pattern>
<action>
<call-macro n="clean_n.adj"><with-param pos="6"/><with-param pos="1"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n.adj_defnes"><with-param pos="6"/><with-param pos="2"/><with-param pos="0"/></call-macro>
<call-macro n="out_adj"><with-param pos="1"/><with-param pos="0"/></call-macro>
<out>
<b pos="1"/>
</out>
<call-macro n="out_adj"><with-param pos="2"/><with-param pos="0"/></call-macro>
<out>
<b pos="2"/>
<lu><clip pos="3" part="whole"/></lu><b/>
<lu><clip pos="4" part="whole"/></lu><b/>
<lu><clip pos="5" part="whole"/></lu><b/>
<lu><clip pos="6" part="whole"/></lu>
</out>
</action>
</rule>
<!-- ADJ ADJ ADJ N+ -->
<rule comment="CHUNK: adj_adj_adj_n">
<pattern>
<pattern-item n="adj_adj_adj_n"/>
</pattern>
<action>
<call-macro n="clean_n.adj"><with-param pos="4"/><with-param pos="1"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n.adj"><with-param pos="4"/><with-param pos="2"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n.adj_defnes"><with-param pos="4"/><with-param pos="3"/><with-param pos="0"/></call-macro>
<call-macro n="out_adj"><with-param pos="1"/><with-param pos="0"/></call-macro>
<out>
<b pos="1"/>
</out>
<call-macro n="out_adj"><with-param pos="2"/></call-macro>
<out>
<b pos="2"/>
</out>
<call-macro n="out_adj"><with-param pos="3"/></call-macro>
<out>
<b pos="3"/>
<lu><clip pos="4" part="whole"/></lu>
</out>
</action>
</rule>
<rule comment="CHUNK: adj_adj_adj_n_n">
<pattern>
<pattern-item n="adj_adj_adj_n_n"/>
</pattern>
<action>
<call-macro n="clean_n.adj"><with-param pos="5"/><with-param pos="1"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n.adj"><with-param pos="5"/><with-param pos="2"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n.adj_defnes"><with-param pos="5"/><with-param pos="3"/><with-param pos="0"/></call-macro>
<call-macro n="out_adj"><with-param pos="1"/><with-param pos="0"/></call-macro>
<out>
<b pos="1"/>
</out>
<call-macro n="out_adj"><with-param pos="2"/></call-macro>
<out>
<b pos="2"/>
</out>
<call-macro n="out_adj"><with-param pos="3"/></call-macro>
<out>
<b pos="3"/>
<lu><clip pos="4" part="whole"/></lu><b/>
<lu><clip pos="5" part="whole"/></lu>
</out>
</action>
</rule>
<rule comment="CHUNK: adj_adj_adj_n_n_n">
<pattern>
<pattern-item n="adj_adj_adj_n_n_n"/>
</pattern>
<action>
<call-macro n="clean_n.adj"><with-param pos="6"/><with-param pos="1"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n.adj"><with-param pos="6"/><with-param pos="2"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n.adj_defnes"><with-param pos="6"/><with-param pos="3"/><with-param pos="0"/></call-macro>
<call-macro n="out_adj"><with-param pos="1"/><with-param pos="0"/></call-macro>
<out>
<b pos="1"/>
</out>
<call-macro n="out_adj"><with-param pos="2"/></call-macro>
<out>
<b pos="2"/>
</out>
<call-macro n="out_adj"><with-param pos="3"/></call-macro>
<out>
<b pos="3"/>
<lu><clip pos="4" part="whole"/></lu><b/>
<lu><clip pos="5" part="whole"/></lu><b/>
<lu><clip pos="6" part="whole"/></lu>
</out>
</action>
</rule>
<rule comment="CHUNK: adj_adj_adj_n_n_n_n">
<pattern>
<pattern-item n="adj_adj_adj_n_n_n_n"/>
</pattern>
<action>
<call-macro n="clean_n.adj"><with-param pos="7"/><with-param pos="1"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n.adj"><with-param pos="7"/><with-param pos="2"/><with-param pos="0"/></call-macro>
<call-macro n="clean_n.adj_defnes"><with-param pos="7"/><with-param pos="3"/><with-param pos="0"/></call-macro>
<call-macro n="out_adj"><with-param pos="1"/><with-param pos="0"/></call-macro>
<out>
<b pos="1"/>
</out>
<call-macro n="out_adj"><with-param pos="2"/></call-macro>
<out>
<b pos="2"/>
</out>
<call-macro n="out_adj"><with-param pos="3"/></call-macro>
<out>
<b pos="3"/>
<lu><clip pos="4" part="whole"/></lu><b/>
<lu><clip pos="5" part="whole"/></lu><b/>
<lu><clip pos="6" part="whole"/></lu><b/>
<lu><clip pos="7" part="whole"/></lu>
</out>
</action>
</rule>
<!-- NCMP+ ADJ N+ -->
<rule comment="CHUNK: n_adj_n">
<pattern>
<pattern-item n="n_adj_n"/>
</pattern>
<action>
<out><lu><clip pos="1" part="whole"/></lu></out>
<call-macro n="clean_n.adj_defnes"><with-param pos="3"/><with-param pos="2"/><with-param pos="0"/></call-macro>
<call-macro n="out_adj"><with-param pos="2"/><with-param pos="0"/></call-macro>
<out>
<b/><b/>
<lu><clip pos="3" part="whole"/></lu>
</out>
</action>
</rule>
</section-rules>
</postchunk>