私はこの質問をコンパイラの授業で持っていますが、私は実際にそれにアプローチする方法を知らない。誰も私にルーブリックで与えられたものよりも良いヒントを与えてもらえますか?解析ツリー内のノードの数値に誘導を使用します。 は、以下の文法によって生成されたすべてのバイナリ文字列が値3 ヒントで割り切れる を持っていることを示しています。 num -> 11 | 1001 | num 0 | num num
を作るために:私はすでに文字列を持っていると木であることを戻ってそれを解析すること How to print a tree structure into a string fast in Ocaml? しかし、反対の方法で、。 例えば、私は type expr =
Number of int
|Plus of expr*expr
|Prod of expr*expr
を有し、I(
私はAhoのコンパイラ構築から有限オートマトン&の文法を読んでいます。私はこの文法を長年抱いています。 次の文法を考えてみましょう:私はそれを記述することができる方法の明確な認識を持っていない S - >(L)| a L→L、S | S 括弧とカンマは実際には 言語の端末であり、この文法で受け入れられる文章に現れることに注意してください。この文法で生成される言語については、 を参照してください。こ
私はちょうどBNF Grammar for JAVAを見つけました。その中で、 "修飾子"は "threadsafe"と呼ばれる終端記号を持っています。しかし、以前はJava言語仕様、Java SE 7 Edition(docs.oracle.com/javase/specs/jls/se7/jls7.pdf)でその修飾子を見つけることはできませんでした。同時に、このコードをexcuting別のス
私はANTLR文法に問題があり、今は1時間以上それを把握しようとしています。私はこの単純な文法までの私の問題を剥奪: grammar TestGrammar;
options {
language = Java;
k=2;
}
compu_method : '/begin COMPU_METHOD' NAME NAME NAME