1

単純な "hello + world" を解析するレモン パーサー (それぞれ PEAR の PHP_LexerGenerator) 用の y ファイルを作成するために、何時間もかけて最善を尽くしています。

私はこの (ドイツ語) チュートリアルを使用しました。はい、電卓のチュートリアルがあると便利ですが、最後に、より複雑なもの (「変数」を使用) を解析したいと思います。

この「言語」の解析/トークン化「hello + world」の定義は何ですか?

これは私が試した他の多くのことの中でもあります:

/* %name, %declare_class, %token_prefix, %syntax_error, .. removed */

%left S.
%left PLUS MINUS.

%right IDENT.

start(res)       ::= expression(expr). { res = expr; }

/* The common stuff */
expression(res)  ::= expression(e1) PLUS expression(t2). { res = e1+t2; }
expression(res)  ::= expression(e1) MINUS expression(t2). { res = e1-t2; }
expression(res)  ::= NUMBER(n). { res = n; }
expression(res)  ::= IDENT(n). { res = (n * 0) + 99; }

IDENT の代わりに、VALUE、string なども試しました... SQLite/parser.y ファイルでさえ役に立ちませんでした。

ご協力いただきありがとうございます。

4

0 に答える 0