忍者ブログ

EDA Blog

Verilog、SystemVerilog、SystemCなど、ハードウェア記述言語についてのブログです。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

現在、新しいコメントを受け付けない設定になっています。

コンパイラ構成法:演習問題2-2 (b)

コンパイラ構成法の演習問題2-2(b)。
空のリスト ( ) はまだ対応できていないが、(a)、(a b c)、((a b) c)、(a ((b) c (d e))は対応できたはず。
リストの要素は、文字1つに限定している。
%token CHAR

%%

input : '(' expr ')' '\n' { printf("correct expression\n"); } ;
expr : expr term          { printf("expr + term -> expr\n"); } 
     | term               { printf("term -> expr\n"); };
term : CHAR               { printf("CHAR (%c) -> term\n", $1); }
     | '(' ')'            { printf("(empty list) -> term\n"); }
     | '(' expr ')'       { printf("( expr ) -> term\n"); } ;

%%

yylex() {
	int c;

	while (' ' == (c = getchar()) );
	if ( isalpha(c) ) {
		yylval = c;
		return CHAR;
	} else {
		return c;
	}
}

拍手[0回]

PR

コメント

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字

カレンダー

04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

フリーエリア

最新CM

[04/11 なつたん]

最新TB

プロフィール

HN:
aston_martin
性別:
非公開

ブログ内検索

カウンター

アクセス解析