Home English

Kuina-chan

くいなちゃんAug 22, 2017


プログラミング言語Kuin」のその他の構文についてです。

Kuinのコメント

複数行コメント

Kuinでは、「{」と「}」で囲んだ部分が複数行コメントとなり、コンパイル時に読み飛ばされます。
複数行コメントの仕様は複数行コメントの仕様の通りです。
  • 「{」と「}」で囲んだ部分はコンパイル時に空白1文字と見なす。
  • 複数行コメントは、入れ子にできる。 例えば、「{{{コメント}}}」のように記述できる。
  • charリテラルおよび[]charリテラル中の「{」「}」は、コメントではなく文字と見なす。
  • 複数行コメントは、行の途中であっても書け、また複数行をまたがってコメントとすることができる。
複数行コメントの仕様
設計の理由
 複数行コメントに「{」「}」を使う記法は、Pascalに由来します。
 C言語のコメント「/*」「*/」は入れ子にできないため、コメントアウトした部分にコメントが含まれていると、途中の「*/」にマッチして正しくコメントアウトできないことがありました。 そこでKuinではコメントが入れ子にできるようにしました。

単一行コメント

Kuinでは、行頭の「;」から行末の改行までが単一行コメントとなり、コンパイル時に読み飛ばされます。
単一行コメントの仕様は単一行コメントの仕様の通りです。
  • 単一行コメントは、行の途中から始めることはできず、行の最初の文字が空白文字を除いて「;」でなければならない。
  • charリテラルおよび[]charリテラル中の「;」は、コメントではなく文字と見なす。
  • 複数行コメント、単一行コメント、charリテラル、[]charリテラルが入り混じっていたときは、先に出現するものから優先される。
単一行コメントの仕様
設計の理由
 単一行コメントに「;」を使う記法は、x86アセンブラに由来します。
 コメントの記号に「{」「}」「;」を採用した理由は、演算子等で使う記号と重複しないほうが望ましいために消去法で決定しました。

行分割

Kuinでは、単に行の途中で改行するとコンパイルエラーとなります。 途中で改行したい場合は、改行した直後の行頭に「|」を記述します(行分割)。
func f()
  do @g
  |(
  | 2 + 3,
  | @a * @b,
  | @h()
  |)
end func
行分割
行分割の仕様は行分割の仕様の通りです。
  • 改行の次の文字が、空白文字を除いて「|」だったとき、その改行および「|」は無かったものとし、コンパイル時に空白1文字と見なす。
行分割の仕様
設計の理由
 Visual BasicやC言語のマクロなどでは、行の途中で改行する場合に行末に特定の文字を記述しますが、Kuinは行頭に重要な情報が集まりますので、改行中かどうかが行頭で判断できるようにしました。
1503413382ja