cl-ppcre と Allegro CL で、正規表現ツリーの出力が違った
題名のとおり。文字列で表された正規表現パターンをパースしてツリーにする関数がどちらにもあるのだが、まったく同じ出力をするのかと思っていたらこんな違いが。
CL-USER> (parse-string "ab") ; cl-ppcre "ab" CL-USER> (parse-re "ab") ; Allegro CL (:SEQUENCE "ab")
いろいろやってみると、要素がひとつの場合は :sequence でくくらないという法則がある様子。それに則るなら parse-string のほうが妥当というか、むしろ何か特殊なことをしない限り parse-re のような出力にはならないのでは、という気が。