= このプロジェクトの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関数
処理 初期化
分岐 初期化成功?
場合 失敗
呼び出し エラー処理
終了
分岐終了
終了
}}}