view slides/2018/08/07/memo.txt @ 52:73b27e5c1d79 default tip

auto-Update generated slides by script
author Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Tue, 16 Apr 2019 18:58:24 +0900
parents ccfc78c23c66
children
line wrap: on
line source

- Perl6
    - とりあえず言語部分から始めるのが良さそう

- 正規表現部分はRakudoを呼び出す
- ベンチマークのコードでどんなものを吐き出しているかを調べる
- CbC事態はアセンブラなのでアセンブラ的に使って問題ない

- ベンチマークに沿ってとりあえず作っていく

- 正規表現の差が出る--> Linearに終わってない

- ボーアムーア検索
    - アスタリスクが直前にあると配列があるので厳しい
    - Cで実装するとほとんど大丈夫
    - 正規表現に突入すると組み合わせ爆発が発生する可能性

- 高速に実現できるパターンマッチング言語の開発?

- 長い部分を正規表現で探してそこ以外をボーアムーア検索で探す
- 1Mbのマッチングは? 画像ファイルに入れる可能性がありそう… !?

- 実際に正規表現は非決定的オートマトンに変換されてから処理される
- NFAはバックトラックしながら探すので結構大変そう
    - マッチングする行が短ければ文字列の前後に分けて処理をする
    - ボトムアップに数字とのパターンを作るという説もありそう
    - 行の最長を指定する

- ボトムアップアプローチ

(CbCのgrep)
- 文字列を見つけるまでボーアムーアサーチを行い,見つかったら前後にregular expression searchを行う
- 逆方向サーチを実装するという手

- CbCは再帰下降が使えない(再起できない)のでDFAに乗せる方針でいけば最適化できそう
- 最終的にCbCで文法解析をするか...!?

- 文法をCbCでどうやって書くかを開発したい