[前頁] [次頁] [目次]


(4)文

 文についてもフルセット C と同様以下の文が使用できます.
    空文、式文、複文、if〜else、while、do〜while、for
    switch、case、default、break、continue、return、goto
    名札付き文
 これらの中で、特に注意すペきものについて説明します.
    @ 複文の先頭では、局所変数や型宣言を行うことができます.

    A continue は、switch 文の中で使用したときは、その switch を含むループの終わりに制御を移します.switch がループの中になければエラーとなります.

    B goto 文の飛び先は、その関数内にかぎります.なお、飛び先の名札付き文が記述されなかった時は、コンパイルの段階ではエラーが出力されず、アセンブルの段階で未定義エラーが出力されます.

    C 名札付き文の名札は、異なる関数では同じものを使用してもかまいません.また、名札に用いる識別子は変数名等と重複してもかまいません.
     関数内で、同じ名札を重複して使用すると、コンパイルの段階ではエラーが出力されず、アセンブルの段階で多重定義エラーが出力されます.

    D 名札付き文は、goto 文の有無にかかわらず記述しても構いません.

(5)ブリプロセッサ

 本コンパイラの持っているブリプロセッサ機能について説明します.
    @ #define 識別子 綴り文字列
     文字列置換については、単純に識別子を綴り文字列に置換するだけで、引数付きマクロはありません.置換文字列に対して再置換しませんので注意してください.

    A #undef 識別子
     定義済識別子を無効にします.

    B #if 定数式 〜 #else 〜 #endif
      #ifdef    〜 #else 〜 #endif
      #ifndef   〜 #else 〜 #endif

     条件付きコンパイルの制御をおこないます.機能としては、一般杓なものですので特に説明を要しないとおもいます.

    C #asm 〜 #endasm
     インライン・アセンブルの機能であり、#asm と #endasm で挟まれた行は行頭のスペースが削除されるだけで、そのままコンパイル出力として出力されます.
    アセンブラ言語による関数などは、ここに書くことができます.

     テープシステムによるコンパイラですから、#include の機能は設けていません.

[前頁] [次頁] [目次]