忍者ブログ

EDA Blog

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

[PR]

×

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

コメント

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

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

先日は空のリスト () には対応できていなかったが、対応できた。
演習問題 2-2(b)にあるリストでは、すべて correct expression として受理される。
0個以上というのを文法ではこのように記載することに気が付いたことが大きい。
%token CHAR

%%

input : '(' expr ')' '\n' { printf("correct expression\n"); } ;
expr :                    { printf("[empty] -> expr\n"); } 
     | expr term          { printf("expr -> expr term\n"); };
term : CHAR               { printf("term -> CHAR(%c)\n", $1); }
     | '(' expr ')'       { printf("term -> ( expr )\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
性別:
非公開

ブログ内検索

カウンター

アクセス解析