言語としてのマクロNo.00684
番頭++ さん 99/07/29 17:11
 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
・言語としてのマクロ - (元は古いのですが、本日の、番頭++ 流です。)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

個人的な意見です。
いつもは動けばマクロと思いますが、言語としてとらえると ...

マクロの構成ですが、マクロの単位は一つのファイル (.mac) である。

マクロは文、制御文とラベル(文)、コメント(文)の集まりである。
文はステートメントとも呼ばれる。
文、制御文の終了文字(line terminator)は ; またはブロック区切文字 { } である。
コメントは // ではじまり、改行でおわる。
ラベルは英数字( _ を含む)ではじまり : でおわる。

文、制御文は命令(キーワード)と複数のオペランドから構成される。
文の代入文(代入式)には命令(キーワード)は無い。
複数のオペランドの区切文字は , である。

オペランドは変数(文字列型、数値型)、予約変数(文字列、数値型)、
リテラル(文字列型、数値型)、演算子、関数、
内部的な値を表現するキーワードから構成される式、条件式、代入式である。

関数は関数名(キーワード)と ( ) に囲まれた複数の引数から構成される。
複数の(関数の)引数の区切文字は , である。

関数の引数は変数(文字列型、数値型)、予約変数(文字列型、数値型)、
リテラル(文字列型、数値型)、演算子、関数、
内部的な値を表現するキーワードから構成される式、条件式である。

これって自分がはじめて学んだコンピュータ言語に依存するんでしょうね。

「複数の(関数の)引数の句読点(punctuation)は , である。」
「命令(キーワード) instruction 」

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
・演算子の種類、分類
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    + - * / % <= >= < > != == && || ! | & ^

    算術演算子 (Arithmetic Operators)
        単項演算子 (Unary Operators) 無し
        二項演算子 (Binary Operators) + - * / %

    代入演算子 (Assignment Operators) =

    ビット演算子 (Bitwise Operators) | & ^

    比較(関係)演算子 (Relational Operators) <= >= < > != ==

    論理演算子 (Boolean Operators) && || !

良い分類があれば教えてください !!!

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
・キーワード分類
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  キーワードは、マクロ言語の特徴から性質別に分類できます。あちきのデータ
では、次のように分類してあります。

    instruction     文の命令にあたります
    function        (内部)関数 (Built-in Function)
    immediate       オペランドを伴わない関数 (定数、変数とも呼ばれます)
                    (immediate function, constant)
    operand         文のオペランドとなる定数

    (注)    return は、instruction でもあり、immediate でもあります。
            (あちきは、これしかしりません。ほかにもあったら教えてください。)

  また、機能別 (用途) にも分類できます。これには個人が学んだ (色々な) 言
語により、分類が色々とありそうです。とりあえず、次のように分類してあります。
「秀丸エディタ」マクロのヘルプとは分類が一部異なります。

    clipboard   クリップボード関連
    command     その他のコマンド
    config      設定
    cursor      カーソル移動
    dde         DDE 関連
    dialog      対話関連
    edit        編集
    file        ファイル操作
    hidemaru    秀丸管理
    macro       マクロ関連
    refer       検索/置換
    registry    レジストリ操作
    string      文字/文字列 操作
    window      窓 (window) 操作

これも個人の趣味ですよね ...

[ ]