implementazione search, in progress

This commit is contained in:
cesare 2022-12-13 15:17:32 +01:00
parent f2ef6dac94
commit a672244132
1 changed files with 83 additions and 0 deletions

View File

@ -136,6 +136,89 @@ _ "whitespace"= " "*
` `
var categoriegrammaticaliGrammar=`Expression
= head:(Filtro){return head.join()}
Filtro
= fhead:("v")? tail:( transitivita? diatesi? impersonalita?
coniugazione? modotempo?
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';}
coniugazione=[1|2|3|4|5]? {switch(parseInt(text())){
case(1): return ' Prima coniugazione';
case(2): return ' Seconda coniugazione';
case(3): return ' Terza coniugazione';
case(4): return ' Ausiliare essere'
case(5): return ' Ausiliare avere'}}
modotempo=modo:"ip" {return('Presente indicativo')}/
"ib" {return("Passato Prossimo Indicativo")}/
"ii" {return("Imperfetto Indicativo")}/
"ir" {return("PassatoRemotoIndicativo")}/
"is" {return( "TrapassatoProssimoIndicativo")}/
"it" {return( "TrapassatoRemotoIndicativo")}/
"if" {return("FuturoSempliceIndicativo")}/
"ia" {return("FuturoAnterioreIndicativo")}/
"cp" {return( "PresenteCongiuntivo")}/
"ci" {return( "ImperfettoCongiuntivo")}/
"cr" {return( "PassatoCongiuntivo")}/
"ct" {return( "TrapassatoCongiuntivo")}/
"dp" {return( "PresenteCondizionale")}/
"dr" {return( "PassatoCondizionale")}/
"mp" {return( "PresenteImperativo")}/
"fp" {return( "PresenteInfinito")}/
"fr" {return( "PassatoInfinito")}/
"pp" {return( "PresenteParticipio")}/
"pr" {return( "PassatoParticipio")}/
"gp" {return( "Presente gerundio")}/
"gr" {return( "PassatoGerundio")}/
"pf" {return( "ParticipioFuturo")}
persona="s1" {return('Prima persona singolare')}/
"s2" {return('Seconda persona singolare')}/
"s3" {return('Terza persona singolare')}/
"p1" {return('Prima persona plurale')}/
"p2" {return('Seconda persona plurale')}/
"p3" {return('Terza persona plurale')}
funzione="a" {return('Verbo Funzione Aggettivo')}/
"sm" {return('Verbo Funzione Sostantivo maschile')}/
"sf" {return('Verbo Funzione Sostantivo femminile')}/
"b" {return('Verbo Funzione Avverbio')}/
"l" {return('Verbo Funzione Locuzione')}
declinazione=[1|2|3|4|5] {switch(parseInt(text())){
case(1): return ' Prima declinazione';
case(2): return ' Seconda declinazione';
case(3): return ' Terza declinazione';
case(4): return ' nd'
case(5): return ' nd'}}
genere=[f|m] {if (text()=='f') return ' Femminile'; else if (text()=='m') return ' Maschile';}
numero=[s|p] {if (text()=='s') return ' Singolare'; else if (text()=='p') return ' Plurale';}
grado="c+" {return('Grado c+ singolare')}/
"c-" {return('Grado c-')}/
"c=" {return('Grado c=')}
Integer "integer"
= _ [0-9]+ { return parseInt(text(), 10); }
_ "whitespace"= " "*
`
var testmm = 0 var testmm = 0
//query //query