{デラング}{進捗記録}{希哲16年2月14日の開発}{損われる}{本質的ではない}{記述しやすい}{珍しくない}{大規模サイト}{迷惑行為対策}{運営上の都合}...=}(65)

{希哲16年2月14日15歩 K#F85E/E74C-5780}

越化エスケープ周りの客体表現化考えるついでに文字参照の越化について再検討して終了

HTML 越化仕様決めた昨年5月20日12歩以来越化目的使う可能性がある文字参照のみを許容していたが,これは修正し,いったん全ての文字参照許容することにした。

4日21歩でも再検討したが,越化記法同様デラングにおける特殊文字白表方式管理するのは無理がある損われる保守性に対して利点乏しい

当初制危というより迷惑行為対策など運営上の都合必要になるのではないかと思っていたが,Wikipedia はじめ大規模サイト開放されている珍しくなく,少なくともデライト言語仕様にするほど必要制限とは言えない。文字参照制危上致命的な問題があればそれは舞覧問題だろう。迷惑行為対策としてもあまり本質的ではない

何か問題があれば制限する,で十分なはずなので,実装都合制限してもいいことにする。

文字参照には,表示入力難がある文字記述しやすいという有用性一応ある。

=}
{用者}{デラング}{進捗記録}{数式記法}{軽量標記言語}{越化参照}{希哲16年2月4日の開発}{希哲16年2月4日21歩}{良い代替案}{深く考えず}...=}(139)

{希哲16年2月4日17歩 K#F85E/E74C-503B}

進捗時限記録中略

デラング整備越化記法越化参照疑似実体参照についての検討終了

越化エスケープ基本的な仕様について記法内部実装両面から急速にまとまった

単一文字越化

まず,バックスラッシュ使った単一文字越化では,全ての文字越化することにした。ただし,この「越化」は,「通常とは異なる特殊な解釈試みること」であり,論組言語等でのそれと同様必ずしもデラング記法としての解釈避けることではない。

非特殊文字扱い

軽量標記言語単一文字越化対象非特殊文字に付けた場合の挙動としては,「不明なエスケープシーケンス」などと違了出すわけにはいかないので,以下の2つ考えられる

普段非特殊文字にあえて越化文字を付けてみることなどないので,一般的にどう実装するものなのか分からなかったが,特に定石があるわけではなさそうだ。

当初なんとなく前者想定していたが,この場合,全ての特殊(になりうる)文字予め定義しておく必要があり,挙動変則性用者混乱させる懸念もある。デラングの場合は文脈によって特殊文字になったりならなかったりすることも多いため,その対応も含めるとかなり複雑化してしまう。

後者の方が分かりやすいといえば分かりやすく,先日交度記法出来た代置子方式応用すれば実装単純化出来る。数式記法などでは越化対象文字判別する必要があるが,これは代置子への置換処理の前に制御子置換すればいい。

いずれにせよ後から変更するのが難しい仕様ではないので,まずは実装単純性を取るべきだろう。

数式記法との整合性

越化記法との整合性深く考えずLaTeX 方面の慣習従い導入した数式記法\[ ... \]\( ... \) をどうするかという問題に少し手間取った

これまで越化記法も「デラング記法としての解釈避ける」ためのものとして想定していたが,ここで本来越化という概念立ち返り,「通常とは異なる特殊な解釈試みる」ためのものとすることで整合させることにした。

越化参照

単一文字越化で「越化」という概念捉え直した結果,これまで Dex で「疑似実体参照」と呼んでいたものを「越化参照」として再定義することが出来た。

これに伴い,疑似実体参照では &_foo; としていた記法を,越化直感的に分かりやすい &^foo;統一することにした。代置子&^[連番];,「制御子(ここで命名&^[名前]; となる。

越化用の代置子に関しては &^1; などと書き分けるかと考えたのとほぼ同時に前述越化概念拡張があり,そもそもこれまで「疑似実体参照」と呼んでいたものが越化列役割同じであることに気付いた

参照先実体があるわけではないので「疑似実体参照」という名称にはずっと違和感があったものの,良い代替案見つからなかった。これで越化記法課題同時に解決してしまった。

{特殊文字}

{}