From 8d3c97097b3db2d3cab9131da75531a9f084c9ca Mon Sep 17 00:00:00 2001 From: nicola Date: Thu, 15 Dec 2022 20:26:12 +0100 Subject: [PATCH] espressione regolare sostantivo implementata, ma non funziona --- js/cesareBrowse.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/js/cesareBrowse.js b/js/cesareBrowse.js index c46010d..e124a72 100644 --- a/js/cesareBrowse.js +++ b/js/cesareBrowse.js @@ -132,6 +132,10 @@ $(document).ready(function() { var parser = peg.generate(categoriegrammaticaliGrammar); //console.log (parser.parse(categ).split(',').filter(prop => prop.length > 0).join()) return parser.parse(categ).split(',').filter(prop => prop.length > 0).join() + }else if(categ[0]=='s'){ + var parser = peg.generate(categoriaGrammaticaleSostantivo); + //console.log (parser.parse(categ).split(',').filter(prop => prop.length > 0).join()) + return parser.parse(categ).split(',').filter(prop => prop.length > 0).join() } //console.log(categ[0]) return categoriegrammaticali[categ[0]] @@ -576,8 +580,30 @@ _ "whitespace"= " "* ` +var categoriaGrammaticaleSostantivo = ` +Expression = head:(Filtro){return 'Sostantivo,'+head.join()} +Filtro= fhead:("s")? tail:( genereforma? declinazionesostantivo? generelemma? + numersingolareplurale? locuzione?){return tail} + +declinazionesostantivo= [1|2|3]? {switch(parseInt(text())){ + case(1): return ' Prima declinazione'; + case(2): return ' Seconda declinazione'; + case(3): return ' Terza declinazione'}} + +genereforma=[m|f]? {if (text()=='m') return ' maschile'; else if (text()=='f') return ' femminile';} +generelemma=[m|f]? {if (text()=='m') return ' maschile'; else if (text()=='f') return ' femminile';} +numersingolareplurale=[s|p]? {if (text()=='s') return ' numero singolare'; else if (text()=='p') return ' numero plurale';} + +locuzione="Iv" {return('In Locuzione verbo');} + +Integer "integer" + = _ [0-9]+ { return parseInt(text(), 10); } + +_ "whitespace"= " "* + +` });