Liefert deklinierte Form eines Objektnamens. Dabei wird beruecksichtigt,
ob das Objekt ein personal_name hat (query_personal()==1).
who Das Objekt dessen deklinierte Form gewuenscht ist.
ODER eine virtuelles Objekt in der Form:
([ "name" : "...", "gender" : "..." ])
oder bei Plural
([ "name" : "...", "gender" : "...", "plural": 1 ])
ODER eine Zahl:
OBJ_TO 0 this_object() (default)
OBJ_PO 1 previous_object()
OBJ_TP 2 this_player()
OBJ_OW 3 auto_owner_search (sonst this_player())
OBJ_TI 4 this_interactive()
art
ART_EIN unbest. Artikel (ein) + Adjektive + Nomen
ART_DER bestimmter Artikel (der) + Adjektive + Nomen
ART_DIESER demonstrativ (dieser) + Adjektive + Nomen
ART_MEIN possesiv 1.Person (mein) + Adjektive + Nomen
ART_DEIN possesiv 2.Person (dein) + Adjektive + Nomen
ART_SEIN possesiv 3.Person (sein) + Adjektive + Nomen
ART_ICH personal 1.Person (ich)
ART_DU personal 2.Person (du)
ART_ER personal 3.Person (er)
ART_KEIN negiert (kein)
ART_JENER \
ART_MANCHER > Selbsterklaerend :)
ART_WELCHER /
ART_KEINS Kein Artikel, nur die Adjektive und das Nomen.
ART_KEINS_BEST Kein Artikel, nur die Adjektive und das Nomen.
ART_KEINS_UNBEST Kein Artikel, nur Adjketive(unbestimmte Form) und
das Nomen.
ART_NUR_DER nur bestimmter Artikel (keine Adj., kein Nomen)
(ART_DER | ART_NO_ADJEKTIV | ART_NO_NOMEN)
ART_NUR_EIN nur unbest. Artikel (keine Adj., kein Nomen)
(ART_EIN | ART_NO_ADJEKTIV | ART_NO_NOMEN)
ART_NUR_DEIN nur Possesivpronomen 2.P.(keine Adj., kein Nomen)
ART_NUR_SEIN nur Possesivpronomen 3.P.(keine Adj., kein Nomen)
ART_NUR_DIESER nur demonstr. Artikel (keine Adj., kein Nomen)
ART_NUR_KEIN (ART_KEIN | ART_NO_ADJEKTIV | ART_NO_NOMEN)
ART_AAA Automatische Artikelauswahl (ein/der) + Adj + Nomen
ART_NUR_AAA Nur Artikel nach automatischer Auswahl (k.Adj.,k.Nomen)
(Je nach Anzahl gleicher Objekte in der Umgebung wird
ein oder der benutzt.)
ART_CAPITALIZE Im Falle eines Pronoms wird jenes grossgeschrieben,
im Falle einer pronomenlosen Konstruktion mit
Adjektiven wird das erste Adjektiv gross geschrieben.
fall
FALL_DEF 0 Nominativ
FALL_NOM 1 Nominativ
FALL_GEN 2 Genitiv
FALL_DAT 3 Dativ
FALL_AKK 4 Akkusativ
adjektiv (mixed)
string -> Grundform eines Adjektivs
"" KEINE Adjektive
string* -> ({ unregelm.Grundform, Deklinationsstamm }) eines Adjektivs
({ adjektiv1, adjektiv2, ...}) mehrere Adjektive
int i -> i == 0 ALLE Adjektive des Objekts who.
i > 0 Die ersten i Adjektive des Objekts who.
i < 0 Das -i. te Adjektiv des Objekts who.
int* -> ({ a, b }) Die a bis b. Adjektive des Objekts who.
({}) KEINE Adjektive
owner Besitzer des Objekts. Falls 0 wird es aus dem environment berechnet.
(nur fuer art == ART_SEIN bzw. ART_NUR_SEIN verwendet)
Die Konstanten ART_..., FALL_..., OBJ_... werden in deklin.h definiert.
Mit Hilfe von adjektiv koennen alle oder bestimmte Adjektive des Objekts
oder ein fremdes Adjektiv in den Ergebnisstring zwischen Artikel/Pronom und
Substantiv gestellt werden.
(Adjektive eines Objekts setzt man mit set_adjektiv, siehe dort.)
Alle Parameter sind optional.
Defaultwerte sind dann
who: this_object()
art: 0 (bestimmter Artikel)
fall: 0 (Nominativ)
adjektiv: 0 (alle Adjektive des Objekts who)
owner: 0 (auto owner search: living environment object)
BEISPIELE:
who sei eine Person namens Anton
query_deklin(who); liefert: "Anton"
who sei ein Ork
query_deklin(who,ART_EIN,3,"boesen"); liefert: "einem boesen Ork"
what sei ein Auto und who eine weibliche Person
query_deklin(what,ART_SEIN,4,0,who); liefert: "ihr Auto"
query_deklin verwendet:
auto_owner_search
parse_deklin_object
query_pronom
query_deklin_adjektiv
query_deklin_name
query_personal
query_plural
query_eigen
Die Verwendung von der, dem, den, ... anstelle von query_deklin
wird empfohlen!!! Siehe dort.