0.文法

 内  容
(1) 1文の記述
(2) 文の種類
(3) 演算子


以下に例題とするプログラミング言語の文法について
概説しておきます。


(1)1文の記述


文は次のように記述します。

 ● 指定のない限り1行に1文。
 ● 1行に複数の文を記述するときはコロン(:)で区切る。
 ● 文が次の行にわたるときは,アンダーバー( _ )を最後につける。
 ● 注釈はなし。


(2)文の種類


以下のような文を用意します。

(a) if構造

   if 論理式 then
     (ブロック)
   else
     (ブロック)
   end if

   または

   if 論理式 then
     (ブロック)
   end if

(b) while構造

   while 論理式
     (ブロック)
   wend

(c) repeat構造

   repeat
     (ブロック)
    until 論理式

(d) for構造

    for 初期化式; 判定式; 増分式
     (ブロック)
    next

(e) break(ループからの抜け出し)

   break

(f) システム関数

   sin, cos, tan, abs, ToString, MsgBox

(g) ユーザ定義関数とreturn

   function 関数名(引数名, 引数名, …, )
     (ブロック)
   return 関数値

  特に関数の終わりは示しません。
  他の関数が始まったときが終わりとなります。

(h) 配列宣言

   dim 配列名(整数,整数)

  インタプリタにおける配列の内部表現は,
  内部的には,名前(整数, 整数)の形の変数名として扱います。
  すなわち,あるまとまった範囲のデータを占有するわけではありません。

(h) 配列宣言

   dim 配列名(整数,整数)

  インタプリタにおける配列の内部表現は,
  内部的には,名前(整数, 整数)の形の変数名として扱います。
  すなわち,あるまとまった範囲のデータを占有するわけではありません。


(3)演算子

種類 演算子の意味   種類 演算子の意味
算術 + 加算(2項演算子) 論理 || または(論理和)
- 減算(2項演算子) && かつ(論理積)
+ プラス(前置演算子)"+$"に変換 %% 排他的論理和
- マイナス(前置演算子)"-$"に変換 ! 否定(not)
% 剰余 代入 = 代入
* 乗算 ++ インクリメント(後置の場合,現値が式の値,
前置の場合,インクリメントされた値が
式の値であり"++$"と変換)
/ 除算
^ べき乗 -- デクリメント(後置の場合,現値が式の値,
前置の場合,デクリメントされた値が
式の値であり"--$"と変換)
代入 == 等値
!= 非等値 += 加算値代入
> -= 減算値代入
< *= 乗算値代入
>= 大または等しい /= 除算値代入
<= 小または等しい



    目 次

1.言語プロセッサの処理

2.文の識別

3.語彙解析

4.逆ポーランド記法

5.構文解析とコード生成

6.インタプリタ


ダウンロード
(以下をクリックするとダウンロードできます)

逆ポーランド記法への変換
本記事で示すソースプログラム例