Commit Graph

31 Commits

Author SHA1 Message Date
aarneranta 344342012d czech: fix noun paradigm selection, add loanword and adjectival types
declensionNounForms only tested hardConsonant (d t g h k n r), so the neutral
consonants (b f l m p s v), which take the hard endings, matched nothing and
fell through to the soft declSTROJ fallback: graf, atom, profil, přístup were
all declined as if soft. Same gap in guessNounForms. Add hardishConsonant
(hard + neutral + the foreign z, x) and use it in both.

The genitive passed to the three-argument mkN was only used to pick a
paradigm, then thrown away, so the oblique stem was re-derived from the
nominative by dropFleetingE. That guesses wrong in both directions: it fires
on člen -> člnu, and fails to fire on uzel -> uzelu, doplněk -> doplněku,
výpočet -> výpočetu. Give declHRAD, declHRADA and declMUZ stem-taking
variants and let declensionNounForms pass the stem it was given. The
one-argument guessNounForms keeps the old dropFleetingE behaviour.

New paradigms, all previously falling back to declSTROJ:
  declLATINUS   algoritmus - algoritmu, kosmos - kosmu (also -os)
  declLATINUSA  the same, masculine animate
  declLATINUM   kontinuum - kontinua
  declGREEKMA   schéma - schématu
  declHRADA     les - lesa, zákon - zákona
  declADJF      proměnná - proměnné
  declADJM      nultý - nultého
  declINVAR     indeclinable loans: bombé, tamari, software

Also match feminine consonant stems by genitive (-i -> kost, -e/-ě -> píseň),
masculine -e/-ě genitives (kužel - kužele, král - krále), and neuter -ě
(těžiště), none of which were reachable before.

Measured on the 1177 nouns of informath's WikidataWordsCze: 225 hit the
fallback before, 1 after (the acronym ADE).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 16:32:25 +02:00
aarneranta a79202f667 czech: fill in the lins needed to build an application grammar
The Czech resource was too incomplete to compile a Syntax/Grammar client:
Sentence, Idiom and Question defined almost nothing, and many Structural
words were absent, so MissingCze's notYet stubs were reached at PMCFG
generation time.

Added:
  CatCze        lincat VV
  SentenceCze   AdvS, ExtAdvS, SSubjS, EmbedS, EmbedQS, ImpVP
  IdiomCze      ImpP3, ExistNP, ImpersCl, GenericCl
  VerbCze       CompCN, ComplVS, ComplVV, PassV2
  NounCze       SentCN, PredetNP
  AdverbCze     SubjS
  QuestionCze   QuestIAdv
  PhraseCze     UttImpSg, UttImpPl, UttImpPol
  StructuralCze all_Predet, both7and_DConj, between_Prep, by8means_Prep,
                can_VV, either7or_DConj, every_Det, if_Subj, no_Quant,
                on_Prep, someSg_Det, that_Subj, under_Prep, where_IAdv
  ExtendCze     ExistsNP no longer excluded

Three of these approximate, because VerbForms lacks the required forms:
ImpVP uses the 1st person plural present ("předpokládáme, že ...") as there
is no imperative; PassV2 uses the reflexive passive ("číslo se dělí") as
passpart is commented out in ResCze; ImpP3 uses "nechť", which suits
mathematical text more than the "let John walk" of the RGL example.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 15:29:55 +02:00
aarneranta 8a82c2ca53 added Cze.UttVP 2026-07-10 14:56:08 +02:00
aarneranta e866940d65 add the Czech Markup module
MarkupNP marks s, clit and prep, since in Czech these are alternative
surface forms of a pronoun chosen by context, as in MarkupRomance.
The nominative clitic is left alone: it is the pro-drop subject, empty
for every personal pronoun, so marking it up gave "<b> </b> je starý".

Inherit MarkupCze in LangCze, as LangFin does; stringMark is excluded
because abstract Lang already excludes it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 14:16:34 +02:00
aarneranta b14c0f8492 complete the Czech Symbol module
Implement the remaining Symbol functions, which previously fell back to
GF's default linearization: IntPN, FloatPN, NumPN, CNNumNP, CNIntNP,
CNSymbNP, SymbS, SymbNum, SymbOrd, and the [Symb] list.

Symbols and numbers are indeclinable neuters, but a cardinal used as a
name still declines (NumPN). CNNumNP treats the numeral as an invariable
label, so the noun carries the case: "město / městu / městem pět".
CNSymbNP goes through numSizeForm and numSizeAgr, as DetCN does, so
SymbNum's Num5 size gives "n měst x a y je staré".

SymbOrd is only approximate: CatCze has no lincat Ord, so it defaults to
{s : Str} and the masculine "n-tý" cannot agree.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 12:29:30 +02:00
Krasimir Angelov 73fa89103b remove repeated record fields 2026-01-08 08:44:26 +01:00
Krasimir Angelov 9570ff202a rename TPasseSimple to TPastSimple in Extend 2023-10-10 13:57:12 +02:00
Krasimir Angelov ca7d7d8fde move TPasseSimple to Extend 2023-10-10 08:54:23 +02:00
Krasimir Angelov 5afe500935 restore the compilation for Slovak, Croatian and Czech 2023-08-22 08:11:34 +02:00
Krasimir Angelov fb398c603e The new Decimal API 2023-08-21 20:14:26 +02:00
aarneranta feac50919b it_Pron in Cze and Slo: the neuter 3rd Sg personal pronoun 2020-11-27 10:58:07 +01:00
aarneranta 6fee9d712a Extend.ReflPossPron added and implemented for Swe, Cze, Slo 2020-11-27 10:02:31 +01:00
aarneranta 7368d1a80c added PossPron and completed pronouns for Czech 2020-10-12 12:08:21 +02:00
John J. Camilleri b422417d4b Normalise some whitespace
Can you believe some joker actually mixed tabs and spaces?
2020-09-11 16:09:03 +02:00
John J. Camilleri 26373e16d8 (Cze): Remove "??" from Adjective paradigm 2020-05-20 10:24:24 +02:00
aarneranta e50cc6f6e4 invarA in Cze and Slo 2020-05-07 11:24:03 +02:00
Aarne Ranta 8080b43965 Merge branch 'master' of https://github.com/GrammaticalFramework/gf-rgl 2020-04-30 11:50:27 +02:00
Aarne Ranta 115be8c68d temporarily (?) removed the ?? markings from Slo and Cze smart paradigms 2020-04-30 11:50:10 +02:00
John J. Camilleri 4f8922f030 (Cze) Only inherit relevant cats in NumeralCze 2020-04-30 11:46:47 +02:00
Aarne Ranta 9a45ab3889 restricted import of CatCze and Slo in Numeral 2020-04-30 11:45:46 +02:00
aarneranta bdd8827423 Cze: prefix wildly guessed inflections with ?? 2020-04-30 07:58:23 +02:00
John J. Camilleri 219b3a2c01 (Cze) Remove calls to Predef.error and just do something stupid instead. 2020-04-29 15:05:24 +02:00
Michal Mechura c1ba6d84c2 some Czech APs are post-positioned 2020-04-21 23:53:53 +02:00
Michal Mechura d2ad4d6105 improvements to czech, mostly morphological 2020-04-16 20:01:38 +02:00
aarneranta 0d6948f59b added more comments to Czech files 2020-04-08 11:07:12 +02:00
Aarne Ranta 0da96d0fce more paradigms for Cze N and A 2020-04-04 12:56:49 +02:00
Aarne Ranta e57e916349 added some words to StructuralCze, mostly very uncertain 2020-04-04 11:23:05 +02:00
Aarne Ranta 5f436574f9 more paradigms for Cze N and A 2020-04-04 10:29:57 +02:00
Aarne Ranta f0685a3233 harmonized the lincats of Numeral and Det 2020-04-04 09:18:57 +02:00
Aarne Ranta 0f763b7960 api for Czech with backup for missing 2020-04-01 11:42:42 +02:00
Aarne Ranta 7c275c1c28 started Czech with a mini-like coverage 2020-04-01 11:07:09 +02:00