このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

2014-03-15から1日間の記事一覧

出現性とマッチングのキャンセル

抽出式は、マッチングに失敗してもnullまたは[]を戻す。エラーや例外はない。これだと、特定の要素や属性の出現を必須(required)とすることができない。必須の出現性を表すために '!' を導入したが、'!' を付けても抽出に関して特に何の変化もない。抽出と…

組み込み変数/関数

組み込み変数は $:text のような形だが、$text() と関数形式がいいような気もする。いざとなったら引数も付けられるし。追加したいのは: $nodeName() DOMのnodeName。要素のときは $tagName() と同じ。他は、#text, #comment, #document。コメントとPIの区…

空セレクターを持つパターン

空セレクターは <> の形、中身がない。空セレクターを持つ原子パターンは <> ... となる。空セレクターはどんなノードともマッチするが、<(node)> とはまったく違う。非空であるセレクターと空セレクターは別物と考えたほうがよい。空セレクターを持つパタ…

導入したい機能

パターンの侵入性 空セレクターを持つパターン 組み込み変数から関数に 関数(組み込み変数)の追加 マッチングのキャンセル機構 シーケンスパターンの導入 「パターンの侵入性」は既に論じた。他の項目を別々な記事にする。

侵入性のデフォルトはやっぱり侵入的か

パターンの侵入性に関して、デフォルトは非侵入的にすると書いた(→「非侵入的パターンと侵入的パターン - 檜山正幸のキマイラ飼育記 メモ編」)。しかし、やっぱり侵入的かもしれない。侵入的パターンだと、意図しない重複出力が生じる。これが問題なので非…