項書き換え
term rewriting_
正規化
とも言う
たぶん簡約とだいたい同じ意味
項を
正規形
になるまで書き換える
AST
を
トラバース
して書き換える
コンパイル時計算
などもここでする
#??
弱正規化
強正規化
↓こんなん
code:Stratego/XT
rules
E: Not(True) -> False
E: Not(False) -> True
E: And(True, x) -> x
E: And(x, True) -> x
項書き換えの例
table:例
before after
!true false
0*9 0
[1+1, 3]
[2, 3]
項書き換えツールの例
ANTLR
ASF+SDF Meta Environment
Stratego/XT
Haskellでの項書き換えツールってなに
#??
自作するもの?
ANTLR
?
https://github.com/cronburg/antlr-haskell
とかあった