Show page source of FrontPage #30589

= このプロジェクトのWiki =
とりあえずメモをここに書いておきます。

== なぜフローチャート? ==
 * ぱっと見て処理の流れをつかみやすい
 * 業界標準(だった)

== 開発予定 ==
 1. 独自言語→DOT言語変換
    * 画像出力は手間なので、graphvizに任せます。開発言語はperl/ruby/cあたりが候補です。
 1. 簡便に使用するためのラッパ
    1. Windows:送るメニューから受け付け、独自言語→DOT言語→PNG変換とか
    1. bash:同上
    1. Windows:GUI
    1. tk
 1. プログラミング言語→独自言語変換
    * 将来的にはやってみたい。
 1. 独自言語→プログラミング言語(コメントによる雛形)
    * ツールは楽に作れそうですが、あって使われるとは思えません。

== 案 ==
 * 1ファイルが1図となる。(ツール処理簡易化のため。将来的には複数持てるようにしたい)
 * 文字コードはUTF-8(graphvizがUTF-8のようなので)

=== 言語案 ===
日本語で書いていますが、いずれasciiに直します。

BNF風記法
{{{
<独自言語> ::= <開始> <本文>
<開始> ::= 最初 <名前> | 続きから <名前>
<本文> ::= ( ( <処理> | <分岐> | <繰り返し> | <ジャンプ> | <ジャンプ先> | <終了> ) <改行> )*
<処理> ::= 処理 <説明> | 呼び出し <名前>
<分岐> ::= 分岐 <説明> <改行> <分岐本文> 分岐終了
<分岐本文> ::= ( 場合 <説明> <改行> <本文> )+
<繰り返し> ::= 繰り返し <説明> <説明> <説明> <改行> <本文> 繰り返し終了
<ジャンプ> ::= ジャンプ <名前>
<ジャンプ先> ::= ジャンプ先 <名前>
<終了> ::= 終了 | 続く <名前>
}}}

例
{{{
最初 main関数
処理 初期化
分岐 初期化成功?
  場合 失敗
    呼び出し エラー処理
    終了
分岐終了
終了
}}}