2014-04-06から1日間の記事一覧

caseとlet*

case syntaxとlet* syntaxに対応した。 パーサにparseLetstarとparseCaseを追加した。 対話環境でテストしてみる。 # let e1 = parse "(case (* 2 3) ((2 3 5 7) 'prime) ((1 4 6 8 9) 'composit))";; val e1 : Parser.exp = IfExp (ApplyExp (VarExp "memv"…

ベクタリテラル、文字リテラル

今まで対応していなかった、ベクタと文字のリテラルに対応した。 s式パーサとレキサを修正。r7rsによると、`#( は、トークンである。sparser.mly Sexp : | CHARV { Char $1 } | SHARPLPAREN Sexplist RPAREN { Vector $2 } 対話環境でテストしてみる。 # let…