Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Entrambe le parti precedenti la revisione Revisione precedente Prossima revisione | Revisione precedente | ||
|
grammatica_categoriale [2026/05/05 11:56] admin |
grammatica_categoriale [2026/05/05 15:01] (versione attuale) admin |
||
|---|---|---|---|
| Linea 3: | Linea 3: | ||
| - | Schema tratto da K. Ajdukiewicz, | + | Schema tratto da Kazimierz |
| - | <code python> | + | |
| + | Nella formulazione di Ajdukiewicz la grammatica categoriale è totalmente indipendente dalla posizione lineare degli elementi. In questo la formulazione teorica originaria si differenzia da modelli successivi che hanno avuto séguito soprattutto in ambito angolassone (p. es. la grammatica di Joachim Lambek 1922-2014) e che distinguono tra casi in cui l’operando è inserito a destra e casi in cui l’operando è inserito a sinistra. L’impostazione “non linearizzata” di Ajdukiewicz è tuttora utilizzata negli studi di semantica formale. | ||
| + | |||
| + | ===== Tipi primitivi ===== | ||
| + | n = nome | ||
| + | s = frase | ||
| + | |||
| + | ===== Tipi funzione ===== | ||
| + | * v = s/n = una funzione che riceve un nome/ | ||
| + | * a = n/n = una funzione che riceve un nome/ | ||
| + | * adv = v/v = una funzione che riceve un verbo/ | ||
| + | * vt = v/n = una funzione che riceve un nome/ | ||
| + | * p = adv/n = una funzione che riceve un nome/ | ||
| + | * cop = v/a = una funzione che riceve un aggettivo come argomento e restituisce un verbo/ | ||
| + | * copl = v/adv = una funzione che riceve un avverbio o un sintagma preposizionale come argomento e restituisce un verbo/ | ||
| + | |||
| + | |||
| + | <code python | ||
| #pip install sympy #pip3 install sympy | #pip install sympy #pip3 install sympy | ||
| #python -m pip install simpy | #python -m pip install simpy | ||
| Linea 19: | Linea 36: | ||
| if x==v: | if x==v: | ||
| return v | return v | ||
| - | def vt(x): #transitive verb | + | def vt(x): #transitive verb (schönfinkelization/ |
| if x==n: | if x==n: | ||
| return v | return v | ||
| Linea 25: | Linea 42: | ||
| if x==n: | if x==n: | ||
| return adv | return adv | ||
| - | | + | |
| + | def cop(x): #copula | ||
| + | if x==a: | ||
| + | return v | ||
| + | |||
| + | def copl(x): #locative copula | ||
| + | if x==adv: | ||
| + | return v | ||
| Mario=n | Mario=n | ||
| cammina=v | cammina=v | ||
| Linea 41: | Linea 66: | ||
| con=p | con=p | ||
| affetto=n | affetto=n | ||
| + | è=cop | ||
| + | sta=copl | ||
| + | in_=p | ||
| + | cucina=n | ||
| + | lì =adv | ||
| + | a_ =p | ||
| + | casa =n | ||
| - | #prove per la shell: | + | test = [ |
| - | #cammina(Mario) #Mario cammina | + | cammina(Mario), #Mario cammina |
| - | #cammina(il(cuoco)) #il cuoco cammina | + | cammina(il(cuoco)), #il cuoco cammina |
| - | #cammina(il(bravo(cuoco))) #il bravo cuoco cammina | + | cammina(il(bravo(cuoco))), #il bravo cuoco cammina |
| - | #lentamente(cammina)(Mario) #Mario cammina lentamente | + | lentamente(cammina)(Mario), #Mario cammina lentamente |
| - | #saluta(Gino)(Mario) #Mario saluta Gino | + | saluta(Gino)(Mario), #Mario saluta Gino |
| - | #morde(Mario)(il(cane)) #il cane morde Mario | + | morde(Mario)(il(cane)), #il cane morde Mario |
| - | #affettuosamente(saluta(Mario))(Gino) #Gino saluta Mario affettuosamente | + | affettuosamente(saluta(Mario))(Gino), #Gino saluta Mario affettuosamente |
| - | #con(affetto)(saluta(Mario))(Gino) #Gino saluta Mario con affetto | + | con(affetto)(saluta(Mario))(Gino), #Gino saluta Mario con affetto |
| - | #con(un(cenno))(saluta(Mario))(Gino) #Gino saluta Mario con un cenno | + | con(un(cenno))(saluta(Mario))(Gino), #Gino saluta Mario con un cenno |
| + | | ||
| + | sta(lì)(il(cuoco)), | ||
| + | sta(in_(cucina))(il(cuoco)) #il cuoco sta in cucina | ||
| + | ] | ||
| + | for i in test: | ||
| + | print(i) | ||
| </ | </ | ||