Skip to content

Commit c909d53

Browse files
Support 'skömmu eftir að' as a temporal conjunction
Phrases.conf merges 'skömmu eftir' and 'örskömmu eftir' into single preposition tokens (fs, frasi), so the Tíðartenging alternative '"löngu:ao"? "eftir:ao" "að:st"' could never match them and sentences like '(svona) skömmu eftir að þessir atburðir áttu sér stað' did not parse, while the plain prepositional use ('skömmu eftir fundinn') and the unmerged variants ('stuttu/löngu/rétt eftir að') worked. Add Tíðartenging alternatives matching the merged tokens, with an optional preceding degree adverb ('svona/alveg skömmu eftir að'). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent add11a8 commit c909d53

2 files changed

Lines changed: 39 additions & 0 deletions

File tree

src/reynir/Greynir.grammar

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -672,6 +672,11 @@ Tíðartenging →
672672
"nema:st"? "þegar:st" AðvörunAð?
673673
| "löngu:ao"? "áður:ao" "en:st" AðvörunAð?
674674
| "löngu:ao"? "eftir:ao" "að:st"
675+
# 'skömmu eftir' er sameinað í einn forsetningartóka í Phrases.conf,
676+
# þannig að 'eftir:ao' "að:st" mynstrið að ofan nær ekki yfir
677+
# '(svona/alveg) skömmu eftir að X gerðist'
678+
| ao? 'skömmu_eftir:fs' "að:st"
679+
| ao? 'örskömmu_eftir:fs' "að:st"
675680
| Allt? 'frá:fs'_þgf 'það:pfn'_hk_þgf_et "að:st"
676681
| VillaFráÞvíAð # frá því X
677682
| Allt? 'frá:fs'_þgf 'það:pfn'_hk_þgf_et "er:st"?

test/test_parse.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2417,6 +2417,39 @@ def test_designation_numeral(r) -> None:
24172417
assert "to_ft_kk_þf" in s.tree.flat_with_all_variants
24182418

24192419

2420+
def test_skommu_eftir_ad(r) -> None:
2421+
"""'skömmu eftir' is merged into a single preposition token in
2422+
Phrases.conf; it must also work as a temporal conjunction head:
2423+
'(svona) skömmu eftir að X gerðist'"""
2424+
s = r.parse_single("Við hittumst skömmu eftir að atburðirnir áttu sér stað.")
2425+
assert s and s.tree
2426+
assert (
2427+
s.tree.flat_with_all_variants
2428+
== "S0 S-MAIN IP NP-SUBJ pfn_ft_nf_p1 /NP-SUBJ VP VP "
2429+
"so_0_fh_ft_mm_nt_p1 /VP CP-ADV-TEMP C P ao fs /P st /C "
2430+
"IP NP-SUBJ no_ft_gr_kk_nf /NP-SUBJ VP VP so_2_þgf_þf_fh_ft_gm_p3_þt /VP "
2431+
"NP-IOBJ abfn_þgf /NP-IOBJ NP-OBJ no_et_kk_þf /NP-OBJ /VP /IP "
2432+
"/CP-ADV-TEMP /VP /IP /S-MAIN p /S0"
2433+
)
2434+
# With a preceding degree adverb
2435+
s = r.parse_single("Við hittumst svona skömmu eftir að atburðirnir áttu sér stað.")
2436+
assert s and s.tree
2437+
s = r.parse_single("Við hittumst örskömmu eftir að atburðirnir áttu sér stað.")
2438+
assert s and s.tree
2439+
# The plain prepositional use must still work
2440+
s = r.parse_single("Við hittumst skömmu eftir fundinn.")
2441+
assert s and s.tree
2442+
# The original full sentence
2443+
s = r.parse_single(
2444+
"„Það var mikilvægt að koma saman svona skömmu eftir að þessir "
2445+
"atburðir áttu sér stað, og fara yfir staðreyndir málsins og hvað "
2446+
"við getum lært af þessu,“ segir Þorbjörg Sigríður Gunnlaugsdóttir "
2447+
"dómsmálaráðherra, um fjarfund ráðherra Schengen ríkjanna sem "
2448+
"haldinn var í morgun."
2449+
)
2450+
assert s and s.tree
2451+
2452+
24202453
if __name__ == "__main__":
24212454
# When invoked as a main module, do a verbose test
24222455
from reynir import Greynir
@@ -2475,4 +2508,5 @@ def test_designation_numeral(r) -> None:
24752508
test_postposed_vegna(g)
24762509
test_pronoun_postposed_adjective(g)
24772510
test_designation_numeral(g)
2511+
test_skommu_eftir_ad(g)
24782512
g.__class__.cleanup()

0 commit comments

Comments
 (0)