1

pycparser に新しいキーワードを追加する方法があるかどうかは誰にもわかりませんか? C99 ベースのコンパイラ用に C コードを解析する必要がありますが、少し異なります。C99 の一部ではないキーワードがいくつかあります。

どんな助けでも大歓迎です

4

1 に答える 1

1

c_lexer.py モジュールには、タプルの「キーワード」定義があります。新しいキーワードを既存のリストに追加できます。新しいキーワードが c_parser.py で定義された構文規則で考慮されていることを確認してください。たとえば、新しいタイプ「mytype_t」がキーワードに追加された場合、次の例に示すように、「type_specifier」の定義を拡張するために、p_type_specifier 関数のドキュメント文字列にも追加する必要があります。

def p_type_specifier_1(self, p):
    """ type_specifier  : VOID
                        | BOOL
                        | CHAR
                        | MYTYPE_T
                        ...

他のタイプのキーワードでも同じアプローチが機能します。

于 2013-11-13T23:33:54.923 に答える