BMX2WAV(と他ツール)開発日記

主にBMX2WAVの開発についての記録ブログ

記録

今日からちょっとでもやったら何かしら書いておこうかなと。

パーサを書いている…というよりまだ全体の構成を考えている感じ。

  • 前回は後からランダム周りを実装したので、その周辺が汚かったのでそれは改善したい。
  • あとライブラリとして多目的に使えるようにしていたので変な事になってたと思う。今回はBMX2WAVでしか考えないのですっきり行ける筈。
  • パーサのデータ構成
    • Statementの羅列をBlockとしてBlockも1つのStatementである
    • Blockはファイル全体のRootBlockかIfBlock(IFから対応するENDIFまで)のこと
    • Statement はBlockかCommand(普通のBMSの1行相当)とRandomStatement(RANDOM行のこと)
  • パーサでやること、以下をちゃんと分離すること
    • 1行を扱いやすい形に整理
    • 各行をStatementのデータ構成で解析データ構築
    • RANDOMの数値を発生させてIFを処理して1つのBmsData(RANDOM構文を含まないBMSデータのこと)を作る。
      • こっちを先にすると通らないルートのBMS構文解析をしないので後にするか?
      • 1行レベルの構文チェックと扱いやすいデータ形式(命令形式かな?)の構築(この辺はまだ曖昧)
      • 全体の行を通しで取り入れていってBmsDataの構築