Für GOTT AUFNEHMEN !! Wie schreibe ich eine einfache Jison-Grammatik, die ein Dokument mit Absätzen erkennt ??? Ich verwende die folgende Grammatik:Einfacher JISON-Parser zum Auffinden von Absätzen
%lex
%%
(\r?\n)+\s* return 'NL'
[^\S\r\n]+ return 'SPACE'
. return 'CHAR'
<<EOF>> return 'NL'
/lex
%s document
%%
document : paragraphs { console.log($1); return $1; }
;
paragraphs : paragraph { $$ = [$1] }
| paragraphs paragraph { $$ = $1.concat($2) }
;
paragraph : NL
| text NL { $$ = $1 }
;
text : string { $$ = [$1] }
| text SPACE string { $$ = $1.concat($3) }
;
string : CHAR
| string CHAR { $$ = $1 + $2 }
;
Und für Test ich verwende:
Hello world
Monkey beast
Hi
, was ich will, wie Sie durch meine Grammatik sehen kann, ist, dass ein Absatz wurde Array von Wörtern.
dieser Versuch, die in der Jison Webseite mich halten zu geben:
[["Hello","world"],"Monkey","beast","Hi"]
während das, was ich erwarten Sie ist
[["Hello","world"],["Monkey","beast"],["Hi"]]
Kann mir jemand helfen ????