1

そこで、SableCC 経由でコンパイラを生成する CFG 本体を作成しています。指定されたサンプルには、プログラムの先頭と末尾にそれぞれ「 Start」と「End 」があります。

サンプルコード

Start
 Print 10;
 int a,b;
End

プロダクションには表示されないので、トークンでもあると思います。だから私は文法でそれらを次のように書きました:

Tokens
    number = ['0'...'9']+;
    identifier = letter(letter|number)*;
    opaddsub = '+' | '-';
    opmuldiv = '*' | '/';   
    opsemicolon = ';';
    opequal = '=';
    parleft = '(';
    parright = ')';
    comma = ',';
    blank = (' ' | 13 | 10 | 9 )+;

    start = 'Start'
    end = 'End'

自信がなく、どのように作品を書かなければならないのか、いまだに戸惑っていますが、助けてもらいたいです。

4

0 に答える 0