Als «grammar» getaggte Fragen

Eine formale Grammatik besteht aus einer Reihe von Produktionsregeln, die beschreiben, wie Zeichenfolgen mit gültiger Syntax gebildet werden. Formale Grammatiken werden am häufigsten verwendet, um die Syntax einer Programmiersprache anzugeben.




2
Was ist eine kontextfreie Grammatik?
Kann mir jemand erklären, was eine kontextfreie Grammatik ist? Nachdem ich mir den Wikipedia-Eintrag und dann den Wikipedia-Eintrag zur formalen Grammatik angesehen habe, bin ich völlig verwirrt. Wäre jemand so freundlich zu erklären, was diese Dinge sind? Ich wundere mich darüber, weil ich das Parsen und nebenbei die Einschränkung einer …


1
Was macht Java einfacher zu analysieren als C?
Ich bin mit der Tatsache vertraut, dass die Grammatiken von C und C ++ kontextsensitiv sind , und insbesondere benötigen Sie einen "Lexer-Hack" in C. Andererseits habe ich den Eindruck, dass Sie nur Java analysieren können 2 Zeichen Vorausschau, trotz erheblicher Ähnlichkeit zwischen den beiden Sprachen. Was müssten Sie an …
90 java  c  parsing  grammar 

1
Warum ist 019 kein JavaScript-Syntaxfehler? Oder warum ist 019> 020
Wenn ich 019 > 020die JavaScript-Konsole eingebe (sowohl in Chrome als auch in Firefox getestet), erhalte ich die Antwort true. Dies ist darauf zurückzuführen, 020dass es als OctalIntegerLiteral(gleich 16) 019interpretiert wird, während es anscheinend als DecimalLiteral(und gleich 19) interpretiert wird . Da 19ist größer als 16, 019 > 020ist true. …

1
Unterschied zwischen einem LL- und einem rekursiven Abstiegsparser?
Ich habe kürzlich versucht, mir selbst beizubringen, wie Parser (für Sprachen / kontextfreie Grammatiken) funktionieren, und das meiste davon scheint sinnvoll zu sein, abgesehen von einer Sache. Ich konzentriere mich insbesondere auf LL (k) -Grammatiken , für die die beiden Hauptalgorithmen der LL-Parser (unter Verwendung der Stapel- / Analysetabelle) und …

3
Wie kann ich eine Raku-Grammatik definieren, um TSV-Text zu analysieren?
Ich habe einige TSV-Daten ID Name Email 1 test test@email.com 321 stan stan@nowhere.net Ich möchte dies in eine Liste von Hashes analysieren @entities[0]<Name> eq "test"; @entities[1]<Email> eq "stan@nowhere.net"; Ich habe Probleme mit der Verwendung des Newline-Metazeichens, um die Kopfzeile von den Wertzeilen abzugrenzen. Meine Grammatikdefinition: use v6; grammar Parser { …
13 csv  grammar  raku 

1
Stoppen der Raku-Grammatik bei EOS (End of String)
Beim Schreiben eines Übersetzers einer Musiksprache in eine andere (ABC an Alda) als Ausrede für das Erlernen der Raku-DSL-Fähigkeit fiel mir auf, dass es anscheinend keine Möglichkeit gibt, a zu beenden .parse! Hier ist mein verkürzter Demo-Code: #!/home/hsmyers/rakudo741/bin/perl6 use v6d; # use Grammar::Debugger; use Grammar::Tracer; my $test-n01 = q:to/EOS/; a …
9 parsing  grammar  raku 

2
So richten Sie eine Grammatik ein, die mit Mehrdeutigkeiten umgehen kann
Ich versuche, eine Grammatik zu erstellen, um einige von mir entwickelte Excel-ähnliche Formeln zu analysieren, wobei ein Sonderzeichen am Anfang einer Zeichenfolge eine andere Quelle kennzeichnet. $Kann beispielsweise eine Zeichenfolge kennzeichnen, sodass " $This is text" als Zeichenfolgeneingabe im Programm behandelt wird und &eine Funktion kennzeichnen kann, sodass &foo()dies als …
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.