2014年11月26日

yamlをluaのテーブルに変換したい

自分が作っているアプリでは、設定ファイルなどにはだいたい xml を使っていたのですが、いいかげん xml のタイプ量の多さが嫌になり、yaml を使うようになりました。

そこで libyaml を使って yaml が読み込めるようにしたのですが、なんだか xml のときと同じ作業をしているような気がしてなりません。
xml のパーサには TinyXml を使っていますが、その時もどぶじぇくとツリーに気軽にアクセスができるよう、自前のヘルパー関数を作っていました。
libyaml でも全く同じ作業をしています。libyaml はシーケンスを返すだけなので、どのノードがどのノードの子になっているとか親になっているとか、そういうのは自分で解析しないといけません。

そんなわけで、ある時期からは設定ファイル自体を lua 形式で書くようにしました。これが非常に使い勝手が良くて、ただ値をつらつらと並べるほかにも、規則性のあるデータが続くときは for 文で機械的にデータを作り出すこともできます。

こうなると、xml は lua でパースして lua テーブルに置き換え、yaml も lua でパースして lua テーブルに置き換えたくなります。
そうすれば xml だろうが yaml だろうが C からは lua テーブルとしてアクセスすればいいだけです。
そんなわけで適当にググって発見した luaXml と luaYaml の使い勝手を試してみようかなと考えているところです。
posted by JUNOSOFT at 11:18| Comment(0) | プログラミング
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。