fissato grammatiche
This commit is contained in:
parent
9e75673645
commit
d84a96325c
|
@ -156,6 +156,12 @@ $(document).ready(function() {
|
|||
if(categ[0]=='r'){
|
||||
return parserArticolo.parse(categ).split(',').filter(prop => prop.length > 0).join()
|
||||
}
|
||||
if (categ[0] == 'f') {
|
||||
return parserCitazione.parse(categ).split(',').filter(prop => prop.length > 0).join();
|
||||
}
|
||||
if (categ[0] == 'n') {
|
||||
return parserOnomastica.parse(categ).split(',').filter(prop => prop.length > 0).join();
|
||||
}
|
||||
//console.log(categ[0])
|
||||
return categoriegrammaticali[categ[0]]
|
||||
}
|
||||
|
@ -556,17 +562,16 @@ $(document).ready(function() {
|
|||
*/
|
||||
|
||||
var categoriegrammaticaliGrammar=`Expression = head:(Filtro){return 'Verbo,'+head.join()}
|
||||
Filtro= fhead:("v")? tail:( transitivita? diatesi? impersonalita?
|
||||
Filtro= fhead:("v") tail:( transitivita? diatesi? impersonalita*
|
||||
coniugazione? modotempo?
|
||||
persona? funzione? declinazione?
|
||||
persona? funzione* declinazione?
|
||||
genere? numero? grado?){return tail}
|
||||
|
||||
|
||||
diatesi= [a|p] {if (text()=='a') return ' Attivo'; else return ' Passivo';}
|
||||
|
||||
transitivita=[i|t]? {if (text()=='t') return ' Transitivo'; else if (text()=='i') return ' Intransitivo';}
|
||||
|
||||
impersonalita=([*|+])? {if (text()=='*') return ' Impersonale'; else if (text()=='+')return ' Riflessivo';}
|
||||
impersonalita=([*|+]) {if (text()=='*') return ' Impersonale'; else if (text()=='+')return ' Riflessivo';}
|
||||
|
||||
coniugazione=[1|2|3|4|5]? {switch(parseInt(text())){
|
||||
case(1): return ' Prima coniugazione';
|
||||
|
@ -635,7 +640,7 @@ _ "whitespace"= " "*
|
|||
|
||||
var categoriaGrammaticaleSostantivo = `
|
||||
Expression = head:(Filtro){return 'Sostantivo,'+head.join()}
|
||||
Filtro= fhead:("s")? tail:( genereforma? declinazionesostantivo? generelemma?
|
||||
Filtro= fhead:("s") tail:( genereforma? declinazionesostantivo? generelemma?
|
||||
numersingolareplurale? locuzione?){return tail}
|
||||
|
||||
|
||||
|
@ -650,7 +655,7 @@ generelemma=[m|f]? {if (text()=='m') return ' lemma maschile'; else if (text()==
|
|||
|
||||
numersingolareplurale=[s|p]? {if (text()=='s') return ' numero singolare'; else if (text()=='p') return ' numero plurale';}
|
||||
|
||||
locuzione="Iv" {return('In Locuzione verbo');}
|
||||
locuzione="lv" {return('In Locuzione verbo');}
|
||||
|
||||
Integer "integer"
|
||||
= _ [0-9]+ { return parseInt(text(), 10); }
|
||||
|
@ -661,7 +666,7 @@ _ "whitespace"= " "*
|
|||
|
||||
var categoriaGrammaticalePreposizione = `
|
||||
Expression = head:(Filtro){return 'Preposizione,'+head.join()}
|
||||
Filtro= fhead:("e")? tail:( tipo1? tipo2? sintassi? complemento1? complemento2?){return tail}
|
||||
Filtro= fhead:("e") tail:( tipo1? tipo2? sintassi? complemento1? complemento2?){return tail}
|
||||
|
||||
|
||||
tipo1=[p|i] {if (text()=='i') return ' Impropria'; else if (text()=='p') return ' Impropria';}
|
||||
|
@ -741,17 +746,16 @@ complemento2=
|
|||
"k14" {return(" Di Rapporto")}
|
||||
|
||||
`
|
||||
var avverbio = ` Expression = head:(Filtro){return 'Avverbio,'+head.join()}
|
||||
Filtro= fhead:("b")? tail:( fake? tipo?){return tail}
|
||||
|
||||
fake= ""
|
||||
var avverbio = `Expression = head:(Filtro){return 'Avverbio,'+head.join()}
|
||||
Filtro= fhead:("b") tail:( locuzione? tipo?){return tail}
|
||||
|
||||
locuzione = "lz" {return(' Avverbio in Locuzione Separato')}/
|
||||
"l" {return(' Avverbio in Locuzione')}
|
||||
|
||||
tipo="c+" {return(' Avverbio al Comparativo di Maggioranza')}/
|
||||
"c-" {return(' Avverbio al Comparativo di Minoranza')}/
|
||||
"sa" {return(' Avverbio al Superlativo Assoluto')}/
|
||||
"sr" {return(' Avverbio al Superlativo Relativo')}/
|
||||
"lz" {return(' Avverbio in Locuzione Separato')}/
|
||||
"l" {return(' Avverbio in Locuzione')}/
|
||||
"y" {return(' Avverbio Proclitico')}/
|
||||
"x" {return(' Avverbio Enclitico')}/
|
||||
"c" {return(' Avverbio al Comparativo di Uguaglianza')}
|
||||
|
@ -762,12 +766,11 @@ Integer "integer"
|
|||
|
||||
_ "whitespace"= " "*
|
||||
|
||||
|
||||
`
|
||||
|
||||
var pronome = `
|
||||
|
||||
Expression = head:(Filtro){return 'Pronome,'+head.join()}
|
||||
Filtro= fhead:("p")? tail:( tipo_pronome? classe_pronome? genere_pronome?
|
||||
var pronome = `Expression = head:(Filtro){return 'Pronome,'+head.join()}
|
||||
Filtro= fhead:("p") tail:( tipo_pronome? classe_pronome? genere_pronome?
|
||||
numero_pronome? forma_pronome? funzione_pronome? tiporiflessivi?){return tail}
|
||||
|
||||
|
||||
|
@ -794,8 +797,8 @@ forma_pronome= "l" {return(" Pronome Libero")}/
|
|||
"i" {return(" Pronome Libero In Composizione")}/
|
||||
"y" {return(" Pronome Proclitico")}/
|
||||
"x" {return(" Pronome Enclitico")}
|
||||
funzione_pronome="so" {return(' Libero Soggetto')}/
|
||||
"soi" {return(' Libero Soggetto Impersonale')}/
|
||||
funzione_pronome= "soi" {return(' Libero Soggetto Impersonale')}/
|
||||
"so" {return(' Libero Soggetto')}/
|
||||
"co" {return(' Libero Complemento')}/
|
||||
"ra" {return(' Libero Rafforzativo')}/
|
||||
"ac" {return(' Clitico Accusativo')}/
|
||||
|
@ -818,7 +821,7 @@ _ "whitespace"= " "*
|
|||
`
|
||||
var categoriaGrammaticaleAggettivo = `
|
||||
Expression = head:(Filtro){return 'Aggettivo,'+head.join()}
|
||||
Filtro= fhead:("a")? tail:( tipo_aggettivo classe_aggettivo? genere_aggettivo?
|
||||
Filtro= fhead:("a") tail:( tipo_aggettivo classe_aggettivo? genere_aggettivo?
|
||||
numero_aggettivo? grado_aggettivo? tipo_complemento? tipo_frase?
|
||||
oggetto_indiretto?){return tail}
|
||||
|
||||
|
@ -902,7 +905,7 @@ _ "whitespace"= " "*
|
|||
var categoriaGrammaticaleArticolo = `
|
||||
|
||||
Expression = head:(Filtro){return 'Articolo,'+head.join()}
|
||||
Filtro= fhead:("r")? tail:( tipo? genere? numero?){return tail}
|
||||
Filtro= fhead:("r") tail:( tipo? genere? numero?){return tail}
|
||||
|
||||
tipo =
|
||||
"d" {return(" Determinativo")}/
|
||||
|
@ -924,7 +927,36 @@ _ "whitespace"= " "*
|
|||
|
||||
|
||||
`
|
||||
var citazione = `
|
||||
Expression = head:(Filtro){return 'Citazione,'+head.join()}
|
||||
Filtro= fhead:("f") tail:( fake? tipo?){return tail}
|
||||
|
||||
fake = ""
|
||||
tipo="l" {return(' Citazione Latina')}/
|
||||
"p" {return(' Citazione Provenzale')}/
|
||||
"r" {return(' Citazione Francese')}/
|
||||
"s" {return(' Citazione Spagnola')}/
|
||||
"e" {return(' Citazione Ebraica')}/
|
||||
"g" {return(' Citazione Greca')}
|
||||
|
||||
Integer "integer"
|
||||
= _ [0-9]+ { return parseInt(text(), 10); }
|
||||
|
||||
_ "whitespace"= " "*
|
||||
|
||||
`
|
||||
var onomastica = `Expression = head:(Filtro){return 'Onomastica,'+head.join()}
|
||||
Filtro= fhead:("n") tail:( proprio tipo?){return tail}
|
||||
|
||||
tipo="x" {return(' Separato')}/
|
||||
"t" {return(' Titolo')}
|
||||
proprio = "p" {return("Nome Proprio")}
|
||||
|
||||
Integer "integer"
|
||||
= _ [0-9]+ { return parseInt(text(), 10); }
|
||||
|
||||
_ "whitespace"= " "*
|
||||
`
|
||||
//parser per categorie
|
||||
var parserVerbi = peg.generate(categoriegrammaticaliGrammar);
|
||||
var parserSostantivi = peg.generate(categoriaGrammaticaleSostantivo);
|
||||
|
@ -933,6 +965,8 @@ var parserAvverbi = peg.generate(avverbio);
|
|||
var parserPronomi = peg.generate(pronome);
|
||||
var parserAggettivi = peg.generate(categoriaGrammaticaleAggettivo);
|
||||
var parserArticolo = peg.generate(categoriaGrammaticaleArticolo);
|
||||
var parserCitazione = peg.generate(citazione);
|
||||
var parserOnomastica = peg.generate(onomastica);
|
||||
|
||||
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue