{出振るい}{Aejs}{Aejs 整備}{希哲16年2月24日}{進捗記録}{希哲16年2月24日の開発}{希哲16年2月24日の進捗}{番無し輪郭}{修正しておいた}{誤記述}...=}(93)

{希哲16年2月24日7歩 K#F85E/E74C-3C7E}

進捗時限記録中略

以下の番無しに関する不具合修正終了手定め出振るい済み

これも優先順位微妙な問題だったが,たまに試し描きしていく人はいるのでここで修正しておくことにした。

番無し描出不能不具合

数ヶ月前気付いた番無し描出出来なくなっている不具合だが,金風整備中断したまま出振るい出来ない Aejs問題なので,優先度低さもあり放置していた

まず手定め環境原因突き止めると,@DG.bld..drw() 内で <spn.strk>参照方法間違えているだけで,ごくわずか修正済むことが分かった

通常避けたい方法だが,次回Aejs 出振るいまでもう少しかかりそうなので,最新の Aejs修正し,それに合わせて本番環境ae.jsVim修正した

前後景輪数表示不具合

これは気付いてから半年くらい経つ気がするが,何度か起きている前後景輪数表示不具合が,また番無し限って起きていた。これも深刻な問題ではな目立つものでもないので放置していた

前回同様,n_fgn_bgNULL初期化することで対応した

作業自体1分かからないことなので原因究明追い追いやっていく……と,これを書いている途中でまた発生しばらく様子を見る

前後景部における自分の自我アイコン表示不具合

作業中番無し輪郭前後景部における自分(録入り中の自我)自我アイコン表示されていないことに気付いた太字にはなっている)

これも単純な誤記述原因だったため修正しておいた

{進捗記録}{高い}{希哲16年2月7日の開発}{表示された}{0.1em刻み}{狭まってしまう}{滅多に使わない}{階層の深さ}{変わってしまう}{4階層}...=}(87)

{希哲16年2月7日16歩 K#F85E/E74C-5EF4}

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

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

進捗時限記録中略

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

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

単一文字越化

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

非特殊文字扱い

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

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

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

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

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

数式記法との整合性

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

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

越化参照

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

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

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

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

{出振るい}{開発}{開発記録}{パンくず記法}{否定正規表現}{キーボード記法}{希哲16年1月11日の日記}{希哲16年1月12日}{検索上}{置換処理}...=}(84)

{希哲16年1月11日の開発 K#F85E/E74C-4D6E}

今回適当に調整するだけで済ませよう思っていた行内交度における越化だが,内容をいったん代置子置き換え最後に戻すという「代置子方式」を思い付き一気に書き直した。これで越化処理見通し良くまとまり,一つ課題片付いた出振るい明日持ち越し

単純な手法なのでデラング整備最初の方思い付いてはいたのだが,まだ Dex 実装が出来て間もない時期役割分担未整理な所が多かったため,すっきり実装出来るイメージ湧かず否定正規表現利用するという方針にしていた希哲15年7月9日1歩。ただ,これも再考するとなかなか回りくどいDex 実装も十分に整理され,取り扱いにも慣れた所で,一番単純な手法回帰することになった。

退避させる文字列配列部区個体に持たせる形で,体系的に Dex組み込めた行内交度だけでなく,範囲越化必要場面一般応用出来る。


Dex では,置換処理過程適当な目印必要場合&&foo; のような疑似実体参照とでもいうべきものを使っていたが,検索上紛らわしいことがあり通常実体参照部分一致するなど)論理演算子とも被るため,&_foo;統一していくことにした。順次置換する。


ほか,パンくず記法10歩キーボード記法14歩についての再検討でも進展

{通常}

{}