• Showing Page History #30745
  • Showing Page History #35557
  • Showing Page History #30589

このプロジェクトのWiki

とりあえずメモをここに書いておきます。

なぜフローチャート?

  • ぱっと見て処理の流れをつかみやすい
  • 業界標準(だった)

開発予定

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

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

言語案

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

BNF風記法

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

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