diff --git a/egison.cabal b/egison.cabal
--- a/egison.cabal
+++ b/egison.cabal
@@ -1,5 +1,5 @@
 Name:                egison
-Version:             3.3.2
+Version:             3.3.3
 Synopsis:            Programming language with non-linear pattern-matching with backtracking
 Description:
   An interpreter for Egison, the programming langugage that realized non-linear pattern-matching with backtracking.
diff --git a/hs-src/Language/Egison/Parser.hs b/hs-src/Language/Egison/Parser.hs
--- a/hs-src/Language/Egison/Parser.hs
+++ b/hs-src/Language/Egison/Parser.hs
@@ -60,16 +60,28 @@
 readExpr = liftEgisonM . runDesugarM . either throwError desugar . parseExpr
 
 parseTopExprs :: String -> Either EgisonError [EgisonTopExpr]
-parseTopExprs = doParse $ whiteSpace >> endBy topExpr whiteSpace
+parseTopExprs = doParse $ do
+  ret <- whiteSpace >> endBy topExpr whiteSpace
+  eof
+  return ret
 
 parseTopExpr :: String -> Either EgisonError EgisonTopExpr
-parseTopExpr = doParse $ whiteSpace >> topExpr
+parseTopExpr = doParse $ do
+  ret <- whiteSpace >> topExpr
+  whiteSpace >> eof
+  return ret
 
 parseExprs :: String -> Either EgisonError [EgisonExpr]
-parseExprs = doParse $ whiteSpace >> endBy expr whiteSpace
+parseExprs = doParse $ do
+  ret <- whiteSpace >> endBy expr whiteSpace
+  eof
+  return ret
 
 parseExpr :: String -> Either EgisonError EgisonExpr
-parseExpr = doParse $ whiteSpace >> expr
+parseExpr = doParse $ do
+  ret <- whiteSpace >> expr
+  whiteSpace >> eof
+  return ret
 
 -- |Load a libary file
 loadLibraryFile :: FilePath -> EgisonM [EgisonTopExpr]
diff --git a/sample/binary-counter.egi b/sample/binary-counter.egi
new file mode 100644
--- /dev/null
+++ b/sample/binary-counter.egi
@@ -0,0 +1,3 @@
+(define $bc (match-all {0 1} (set integer) [(loop $i [1 $n] <cons $x_i ...> _) (map (lambda [$i] x_i) (between 1 n))]))
+
+(take 30 bc)
diff --git a/sample/sequence.egi b/sample/sequence.egi
--- a/sample/sequence.egi
+++ b/sample/sequence.egi
@@ -4,7 +4,7 @@
 ;;;
 ;;;
 
-;; Extract all twin primes with non-linear pattern-matching against the infinite list of prime numbers
+;; Extract all twin primes from the infinite list of prime numbers with pattern-matching!
 (define $twin-primes
   (match-all primes (list integer)
     [<join _ <cons $p <cons ,(+ p 2) _>>>
