ugnagブログ

たいした内容はありません。思いつきで書いているだけ。
開発日記がメインかな。

<< 音楽理論 第7回 | main | 携帯暗号化3 >>

今度はPAR2形式に問題が、、、

テキストフォーマットの話。
ずいぶん長く考えているが仕方ない。

ここに問題があるといろいろな箇所に影響するから。


今まではPAR3形式を中心に考えてきたが、こちらは問題ないと思う。

今度はPAR2形式で問題が見つかった。


次のような場合だ。

---------------------------
*2:へろへろ冒険記

マスターコード
00000000 00000000

主人公
HP最大
00000000 00000000
MP最大
00000000 00000000

二人目
HP最大
00000000 00000000
MP最大
00000000 00000000
---------------------------

今の仕様ではこれを解析すると、

---------------------------
●へろへろ冒険記

 ・マスターコード
 ・主人公
  ・HP最大
  ・MP最大
  ・二人目
   ・HP最大
   ・MP最大
---------------------------

となってしまう。

'*^:'マークがないためなのだが、このマークは普通掲示板などで公開されているコードには付いているはずがない。

フォルダー毎に*^:マークを付加するのも大変だ。

そのため、マークを付けなくてもサブフォルダーを作らないモードが必要になる。


そこでタイトルオプションにsubfolder属性を追加することにする。

subfolder=no

とすることで先ほどのコードも正しく解釈できるようになる。


問題はデフォルトをyesにするかnoにするかだが、ファイルを楽にした方がいいと思うので、yesをデフォルトにする。


掲示板などに書かれたコードを取り込むには、どのみちコードパーサーのようなものが必要になるので、そこで属性を追加する。

また、掲示板のコードをファイルに書く場合、タイトル属性に1行追加するだけなので、それほど苦にはならないだろう。



そうそう、もうひとつ仕様変更。

現在は、コード行は行頭の空白などを認めていないが、これを認めようと思う。
認めていなかったのは誤解釈を避けるため、なるべく厳しくしたのためだ。

一番ありそうなのは、
00000000 00000000
というコード名の場合、コード行とコード名の区別が付かない。

このような場合、先頭に空白でも追加してもらう気でいたが、こんなコード名はまずないだろうし、あったとしたら、
'00000000 00000000'
とでもしてもらえば済む話だ。

それより、行頭の空白を許可するメリットの方が大きい。

先ほどのコードも、
---------------------------
*2:へろへろ冒険記

 マスターコード
 00000000 00000000

 主人公
  HP最大
  00000000 00000000
  MP最大
  00000000 00000000

 二人目
  HP最大
  00000000 00000000
  MP最大
  00000000 00000000
---------------------------
と、ネストして記述できるようになる。
こっちの方が間違いなく見やすい。

認めるのは、半角空白、全角空白、タブとする。


今度こそ、プログラムできるかもしれない。

だけど、解析した後にどうしようかな。
暗号化して表示するようにでもしておくか。
プログラム・開発(ParCodeEditor) | comments (0) | -

Comments

Comment Form

本文に書いて下さい
本文にh抜きで書いて下さい