「48時間でSchemeを書こう/構文解析」の版間の差分

削除された内容 追加された内容
61 行
次に、パーサがより段々とより複雑な式を認識するようにいくつかの改善を施していきます。今のパーサはスペースが記号の前にあるとつかえてしまいます。
 
<syntaxhighlight lang="bashtext">
% ./simple_parser " %"
No match: "lisp" (line 1, column 1):
69 行
スペースを無視させるようにしてこれを直しましょう。
 
まず、どんな数のスペースも認識するパーサを定義しましょう。偶然にも、これが私たちがParsecをインポートした時<code>hiding (spaces)</code>を追加した理由です。Parsecには"[http://www.cs.uu.nl/~daan/download/parsec/parsec.html#spaces spaces]"関数がありますが、これは私たちの期待する動作をしません(ついでに言えば、[http://www.cs.uu.nl/~daan/download/parsec/parsec.html#lexeme lexeme]というピッタリの関数がありますが、ここでは教育上の目的からそれを使わないことにします)。
 
<syntaxhighlight lang="haskell">