--- a/progs/parser-combinators/comb1.sc Fri Nov 17 20:06:43 2023 +0000
+++ b/progs/parser-combinators/comb1.sc Tue Nov 28 11:42:31 2023 +0000
@@ -149,9 +149,6 @@
// A parser for arithmetic expressions (Terms and Factors)
-"1 + 2 * 3"
-"(1 + 2) * 3"
-{
lazy val E: Parser[String, Int] = {
(T ~ p"+" ~ E).map{ case ((x, _), z) => x + z } ||
(T ~ p"-" ~ E).map{ case ((x, _), z) => x - z } || T }
@@ -159,7 +156,8 @@
(F ~ p"*" ~ T).map{ case ((x, _), z) => x * z } || F }
lazy val F: Parser[String, Int] = {
(p"(" ~ E ~ p")").map{ case ((_, y), _) => y } || NumParserInt }
-}
+
+println(E.parse_all("2*2*2"))
println(E.parse_all("1+3+4"))
println(E.parse("1+3+4"))
println(E.parse_all("4*2+3"))