fissato grammatiche
This commit is contained in:
parent
9e75673645
commit
d84a96325c
|
@ -156,6 +156,12 @@ $(document).ready(function() {
|
||||||
if(categ[0]=='r'){
|
if(categ[0]=='r'){
|
||||||
return parserArticolo.parse(categ).split(',').filter(prop => prop.length > 0).join()
|
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])
|
//console.log(categ[0])
|
||||||
return categoriegrammaticali[categ[0]]
|
return categoriegrammaticali[categ[0]]
|
||||||
}
|
}
|
||||||
|
@ -556,17 +562,16 @@ $(document).ready(function() {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var categoriegrammaticaliGrammar=`Expression = head:(Filtro){return 'Verbo,'+head.join()}
|
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?
|
coniugazione? modotempo?
|
||||||
persona? funzione? declinazione?
|
persona? funzione* declinazione?
|
||||||
genere? numero? grado?){return tail}
|
genere? numero? grado?){return tail}
|
||||||
|
|
||||||
|
|
||||||
diatesi= [a|p] {if (text()=='a') return ' Attivo'; else return ' Passivo';}
|
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';}
|
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())){
|
coniugazione=[1|2|3|4|5]? {switch(parseInt(text())){
|
||||||
case(1): return ' Prima coniugazione';
|
case(1): return ' Prima coniugazione';
|
||||||
|
@ -635,7 +640,7 @@ _ "whitespace"= " "*
|
||||||
|
|
||||||
var categoriaGrammaticaleSostantivo = `
|
var categoriaGrammaticaleSostantivo = `
|
||||||
Expression = head:(Filtro){return 'Sostantivo,'+head.join()}
|
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}
|
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';}
|
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"
|
Integer "integer"
|
||||||
= _ [0-9]+ { return parseInt(text(), 10); }
|
= _ [0-9]+ { return parseInt(text(), 10); }
|
||||||
|
@ -661,7 +666,7 @@ _ "whitespace"= " "*
|
||||||
|
|
||||||
var categoriaGrammaticalePreposizione = `
|
var categoriaGrammaticalePreposizione = `
|
||||||
Expression = head:(Filtro){return 'Preposizione,'+head.join()}
|
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';}
|
tipo1=[p|i] {if (text()=='i') return ' Impropria'; else if (text()=='p') return ' Impropria';}
|
||||||
|
@ -742,16 +747,15 @@ complemento2=
|
||||||
|
|
||||||
`
|
`
|
||||||
var avverbio = `Expression = head:(Filtro){return 'Avverbio,'+head.join()}
|
var avverbio = `Expression = head:(Filtro){return 'Avverbio,'+head.join()}
|
||||||
Filtro= fhead:("b")? tail:( fake? tipo?){return tail}
|
Filtro= fhead:("b") tail:( locuzione? tipo?){return tail}
|
||||||
|
|
||||||
fake= ""
|
locuzione = "lz" {return(' Avverbio in Locuzione Separato')}/
|
||||||
|
"l" {return(' Avverbio in Locuzione')}
|
||||||
|
|
||||||
tipo="c+" {return(' Avverbio al Comparativo di Maggioranza')}/
|
tipo="c+" {return(' Avverbio al Comparativo di Maggioranza')}/
|
||||||
"c-" {return(' Avverbio al Comparativo di Minoranza')}/
|
"c-" {return(' Avverbio al Comparativo di Minoranza')}/
|
||||||
"sa" {return(' Avverbio al Superlativo Assoluto')}/
|
"sa" {return(' Avverbio al Superlativo Assoluto')}/
|
||||||
"sr" {return(' Avverbio al Superlativo Relativo')}/
|
"sr" {return(' Avverbio al Superlativo Relativo')}/
|
||||||
"lz" {return(' Avverbio in Locuzione Separato')}/
|
|
||||||
"l" {return(' Avverbio in Locuzione')}/
|
|
||||||
"y" {return(' Avverbio Proclitico')}/
|
"y" {return(' Avverbio Proclitico')}/
|
||||||
"x" {return(' Avverbio Enclitico')}/
|
"x" {return(' Avverbio Enclitico')}/
|
||||||
"c" {return(' Avverbio al Comparativo di Uguaglianza')}
|
"c" {return(' Avverbio al Comparativo di Uguaglianza')}
|
||||||
|
@ -762,12 +766,11 @@ Integer "integer"
|
||||||
|
|
||||||
_ "whitespace"= " "*
|
_ "whitespace"= " "*
|
||||||
|
|
||||||
|
|
||||||
`
|
`
|
||||||
|
|
||||||
var pronome = `
|
var pronome = `Expression = head:(Filtro){return 'Pronome,'+head.join()}
|
||||||
|
Filtro= fhead:("p") tail:( tipo_pronome? classe_pronome? genere_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}
|
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")}/
|
"i" {return(" Pronome Libero In Composizione")}/
|
||||||
"y" {return(" Pronome Proclitico")}/
|
"y" {return(" Pronome Proclitico")}/
|
||||||
"x" {return(" Pronome Enclitico")}
|
"x" {return(" Pronome Enclitico")}
|
||||||
funzione_pronome="so" {return(' Libero Soggetto')}/
|
funzione_pronome= "soi" {return(' Libero Soggetto Impersonale')}/
|
||||||
"soi" {return(' Libero Soggetto Impersonale')}/
|
"so" {return(' Libero Soggetto')}/
|
||||||
"co" {return(' Libero Complemento')}/
|
"co" {return(' Libero Complemento')}/
|
||||||
"ra" {return(' Libero Rafforzativo')}/
|
"ra" {return(' Libero Rafforzativo')}/
|
||||||
"ac" {return(' Clitico Accusativo')}/
|
"ac" {return(' Clitico Accusativo')}/
|
||||||
|
@ -818,7 +821,7 @@ _ "whitespace"= " "*
|
||||||
`
|
`
|
||||||
var categoriaGrammaticaleAggettivo = `
|
var categoriaGrammaticaleAggettivo = `
|
||||||
Expression = head:(Filtro){return 'Aggettivo,'+head.join()}
|
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?
|
numero_aggettivo? grado_aggettivo? tipo_complemento? tipo_frase?
|
||||||
oggetto_indiretto?){return tail}
|
oggetto_indiretto?){return tail}
|
||||||
|
|
||||||
|
@ -902,7 +905,7 @@ _ "whitespace"= " "*
|
||||||
var categoriaGrammaticaleArticolo = `
|
var categoriaGrammaticaleArticolo = `
|
||||||
|
|
||||||
Expression = head:(Filtro){return 'Articolo,'+head.join()}
|
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 =
|
tipo =
|
||||||
"d" {return(" Determinativo")}/
|
"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
|
//parser per categorie
|
||||||
var parserVerbi = peg.generate(categoriegrammaticaliGrammar);
|
var parserVerbi = peg.generate(categoriegrammaticaliGrammar);
|
||||||
var parserSostantivi = peg.generate(categoriaGrammaticaleSostantivo);
|
var parserSostantivi = peg.generate(categoriaGrammaticaleSostantivo);
|
||||||
|
@ -933,6 +965,8 @@ var parserAvverbi = peg.generate(avverbio);
|
||||||
var parserPronomi = peg.generate(pronome);
|
var parserPronomi = peg.generate(pronome);
|
||||||
var parserAggettivi = peg.generate(categoriaGrammaticaleAggettivo);
|
var parserAggettivi = peg.generate(categoriaGrammaticaleAggettivo);
|
||||||
var parserArticolo = peg.generate(categoriaGrammaticaleArticolo);
|
var parserArticolo = peg.generate(categoriaGrammaticaleArticolo);
|
||||||
|
var parserCitazione = peg.generate(citazione);
|
||||||
|
var parserOnomastica = peg.generate(onomastica);
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue