Commit Graph

7415 Commits

Author SHA1 Message Date
aarneranta 11f73acc28 czech: implement three-place verbs (V3)
Add a proper V3 category to the Czech RGL, previously absent (V3 fell
through to the {s:Str} default and Slash2V3/Slash3V3 were notYet stubs).

- CatCze: lincat V3 = VerbForms ** {c, c2 : ComplementCase}; extend
  VPSlash with a trailing `ind` field for the incorporated indirect
  object (mirrors the English VPSlash c2 field).
- VerbCze: implement Slash2V3 and Slash3V3; ComplSlash now renders the
  `ind` string after the object slot, and SlashV2a sets ind = []. This
  keeps the object before the indirect object under the shared
  ComplV3 v o d = ComplSlash (Slash3V3 v d) o.
- ParadigmsCze: add the mkV3 paradigm (default acc/dat, plus an
  explicit two-complement-case form).
- MissingCze: drop the now-implemented Slash2V3/Slash3V3 stubs.

V2 predication is unchanged (ind is empty for V2-derived VPSlash).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-16 17:51:41 +02:00
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 8f1b3eeece compiling SymbolicCze by default 2026-07-10 14:08:24 +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
aarneranta 2e6a750c1a some fixes in ExtendFin to make it compile again 2026-07-10 11:28:00 +02:00
Krasimir Angelov 98128249bd remove the encoding flag 2026-06-10 12:35:32 +02:00
Krasimir Angelov 1e581fbd10 first draft of Ukrainian grammar 2026-06-10 10:48:57 +02:00
Krasimir Angelov f2ac424bfe first draft of a Belarusian grammar 2026-06-09 07:01:11 +02:00
Krasimir Angelov e65469ffb2 added missing extensions (Codex) 2026-06-05 08:25:21 +02:00
Krasimir Angelov 8458a74e25 added type signature 2026-06-01 09:54:52 +02:00
Krasimir Angelov 7156f488dd remove flag 2026-06-01 08:18:22 +02:00
Krasimir Angelov ff44b03344 added ivarN and invarV 2026-06-01 08:16:19 +02:00
Krasimir Angelov 4282523f2f added ordinal numbers 2026-06-01 07:48:41 +02:00
Krasimir Angelov d8208cba24 added TPastSimple 2026-06-01 07:48:09 +02:00
Krasimir Angelov 0a03e037f4 Faroese grammar 2026-05-31 17:29:17 +02:00
Krasimir Angelov 0201d62777 extensions added with Codex 2026-05-29 14:44:23 +02:00
Krasimir Angelov b8bb7f1d72 grammar extensions for Codex 2026-05-28 08:08:41 +02:00
Krasimir Angelov fe56b729b4 remove redundant parameters 2026-05-26 11:01:32 +02:00
Krasimir Angelov cab232a4f6 added mkMU 2026-05-23 17:40:20 +02:00
Krasimir Angelov cdeaf5a271 added ConstructionMkd 2026-05-23 17:35:06 +02:00
Krasimir Angelov 60e38122d0 additions by Codex 2026-05-23 07:33:51 +02:00
Krasimir Angelov 800e2b0dda more Hungarian functions 2026-05-22 13:23:32 +02:00
Krasimir Angelov 84bdce7cc8 import names 2026-05-21 17:17:17 +02:00
Krasimir Angelov add5029b7a forgot tha names module 2026-05-21 17:15:47 +02:00
Krasimir Angelov 19ba581f0e a number of functions added by Codex 2026-05-21 16:39:56 +02:00
Krasimir Angelov a890a1aad5 Merge branch 'master' of github.com:GrammaticalFramework/gf-rgl 2026-05-19 13:29:24 +02:00
Krasimir Angelov 26a1e55cbe more constructions 2026-05-19 13:29:03 +02:00
aarneranta 992e670c10 ParadigmsGre: case for mkPN Str Gender 2026-05-12 14:53:15 +02:00
Krasimir Angelov eea95a6f76 no need to define g 2026-05-09 18:38:21 +02:00
Krasimir Angelov f1facac1bf uncomment cases 2026-05-07 10:02:15 +02:00
Krasimir Angelov c5bb0dacb5 extended pronouns 2026-05-07 08:49:43 +02:00
Krasimir Angelov 44ea945c8c added Human/NonHuman gender to select the right relative pronoun 2026-05-07 08:39:07 +02:00
Krasimir Angelov 9265270a0c added future tense and fix PossPron 2026-05-06 21:57:29 +02:00
Krasimir Angelov 86e2afcfc0 added documentation 2026-05-06 18:15:17 +02:00
Krasimir Angelov 6115d44398 insertAdv and insertAdvSlash should accumulate adverbs 2026-05-06 15:57:59 +02:00
Krasimir Angelov cf6a376272 module for irregular verbs and eat_V2 in Lexicon 2026-05-06 15:11:03 +02:00
Krasimir Angelov 3a8527689c add CompoundN 2026-05-06 14:55:38 +02:00
Krasimir Angelov 416d37eee7 reorder definite and indefinite 2026-05-06 09:59:18 +02:00
Krasimir Angelov c4d578cac3 started with past tense 2026-05-06 09:56:31 +02:00
Krasimir Angelov a7341d9be1 added invarA 2026-05-06 09:18:32 +02:00
Krasimir Angelov 57ef377e6d added type signature 2026-05-05 21:42:57 +02:00
Krasimir Angelov 3a133d035d added lindef VP 2026-05-05 20:21:10 +02:00
Krasimir Angelov 912ddd521f linref for VP 2026-05-05 20:03:58 +02:00
Krasimir Angelov 945bc086f2 UttCN,UttAP,UttAdv 2026-05-05 15:11:43 +02:00
Krasimir Angelov 70806027c1 added infinitives 2026-05-05 15:03:53 +02:00
Krasimir Angelov 88a3759a9e forgot VerbFao.gf 2026-05-05 11:29:05 +02:00
Krasimir Angelov 1910010e70 sketch of the grammar generated with Codex 2026-05-05 11:05:50 +02:00