1. Top » 
  2. スポンサー広告 » 
  3. コンパイラについてのメモ #8
  4. 大学関係 » 
  5. 計算機科学実験及実習 » 
  6. コンパイラについてのメモ #8

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  • Genre:

コンパイラについてのメモ #8

コンパイラについての話、続きです。
実際の文法について見ていきましょう。
簡単に日本語で注釈を入れていきますけど、本当はダメです。
日本語は使えません、後は-と、その他には$とか使えません。

program:
external_declaration
|program external_declaration
;
プログラムは外部宣言という要素の繰り返しです。

external_declaration:
declaration
|function_defunction
;
外部宣言は変数宣言又は関数定義です

declaration:
INT declarator_list
;
変数宣言はINTで始まってdeclaratorのリストです

declarator_list:
declarator
|declarator_list COMMA declarator
;
declaratorのリストとはdeclaratorの繰り返しです。

declarator:
IDENTIFIER
;
declaratorは識別子です。

function_defunction:
INT declarator LK ptlo RK compound_statement
;
関数宣言はINTで始まって定義式が来て、()の間にパラメータ、
その後ろに複文がつきます。

ptlo:
|parameter_type_list
;
パラメータは空もしくはパラメータのリストです

parameter_type_list:
parameter_declaration
|parameter_type_list COMMA parameter_declaration
;
パラメータのリストとはパラメータの宣言の繰り返しです

parameter_declaration:
INT declarator
;
パラメータの宣言とは変数宣言です

statement:
SCOLON
|expression SCOLON
|compound_statement
|IF LK expression RK statement elseopt
|WHILE LK expression RK statement
|RETURN expression SCOLON
|RETURN SCOLON
;
文というのは次の6種類です
 1.空の文
 2.式
 3.複文
 4.IF文
 5.WHILE文
 6.RETURN式(値を返す)
 7.RETURN式(値を返さない)

elseopt:
|ELSE statement
;
elseのオプションについての記述



おぉぉ。だんだんそれっぽくなってきました。
まだまだ文法について見ていきます。
関連記事
スポンサーサイト

Comment

コメントフォーム
このエントリへコメントを書く
(任意)
(任意)
(任意)
(必須) HTMLタグは使用できません
(任意) ID生成と編集に使用します
(任意) 非公開コメントにする

Page Top

Trackback

Trackback URI
http://parabola0.blog86.fc2.com/tb.php/395-4e9b812b この記事にトラックバックする(FC2ブログユーザーのみ)

Page Top

訪問者

お引っこし。 http://parabola.sblog.jp/

プロフィール

parabola0

Author:parabola0
Twitter用ですが…。
プロフィール

最新記事
最新コメント
最新トラックバック
カテゴリ
月別アーカイブ
検索フォーム
リンク

このブログをリンクに追加する

QRコード
QRコード
RSSリンクの表示
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。