FooooScript言語仕様(バージョンfo)

目次

  1. 概要
  2. バージョン
  3. ソースファイル
  4. 利用可能な文字
  5. 構造
  6. 命令語
  7. コメントアウト

1. 概要

FooooScriptは,テキスト端末上に文字列"foooo"を容易に出力するための,チューリング完全でない言語である。
FooooScriptは事実上,言語仕様を満たすソースコードを解釈したとき,その行数個の"foooo"文字列を出力する言語である。

2. バージョン

FooooScript言語仕様のバージョンは初版をfoとし,以降,改訂されるたびにバージョン末尾にoを一つずつ付加していく。バージョンfoの次のバージョンはfooである。

3. ソースファイル

FooooScriptのソースファイルは,特に配慮をすべき理由がない限り,文字コードUTF-8を採用するべき(SHOULD)である。UTF-8が採用される場合,ソースファイルの先頭にバイトオーダーマークを付加してはならない(MUST NOT)。
FooooScriptのソースファイルのファイル名に付する拡張子は規定されない。ただし,ファイル交換の便を図るために拡張子".fooos"を用いてもよい(MAY)。

4. 利用可能な文字

有効なFooooScriptのソースコードは,以下の三つの文字のみで記述される。これら以外の文字を含むソースコードはエラーとなる。

  • f
  • o
  • LF(改行)

5. 構造

有効なFooooScriptのソースコードは,一つ以上の行からなる。各行は必ずただ一つの有効な命令語を含み,空の行や複数の命令語を含む行は許容されない。行と行とは改行によって区切られる。これらを逸脱するソースコードはエラーとなる。
有効なFooooScriptの拡張バッカス・ナウア記法的表現は,以下のようになる。

ソースコード = 命令語 , [改行, ソースコード]

6. 命令語

FooooScriptには,以下に示す命令語のみが定義される。以下にない語は,不明な命令語としてエラーとする。

fo+命令語

fo+命令語は,文字列"foooo"を出力する。
fo+命令語は,"fo"とそれに連なる任意の個数のoによって記述される命令語である。以下の記述はすべて有効なfo+命令語として解釈される。

  • fo
  • foooooo
  • foooooooooooooooo
  • fooooooooooooooooooo

以下にfo+命令語の使用例を示す。
ソースコード:

foo

実行結果:

foooo

7. コメントアウト

FooooScriptには,コメントアウトの記法は存在しない。

8. 例

以下に示すのは,FooooScriptの例である。
ソースコード:

foo
foooooooooooooo
fo
foooooooooo
foooo
fooooooooooooooooooooooo
foooo
fooooooo

実行結果:

foooofoooofoooofoooofoooofoooofoooofoooo