diff --git a/src/main/wacc/frontend/parser.scala b/src/main/wacc/frontend/parser.scala index c9d36f3..232474f 100644 --- a/src/main/wacc/frontend/parser.scala +++ b/src/main/wacc/frontend/parser.scala @@ -5,7 +5,7 @@ import parsley.Result import parsley.Parsley import parsley.Parsley.{atomic, many, notFollowedBy, pure, unit} import parsley.combinator.{countSome, sepBy, option} -import parsley.expr.{precedence, SOps, InfixL, InfixN, /*InfixR,*/ Prefix, Atoms} +import parsley.expr.{precedence, SOps, InfixL, InfixN, InfixR, Prefix, Atoms} import parsley.errors.combinator._ import parsley.errors.patterns.VerifiedErrors import parsley.syntax.zipped._ @@ -14,6 +14,7 @@ import cats.data.NonEmptyList import parsley.errors.DefaultErrorBuilder import parsley.errors.ErrorBuilder import parsley.errors.tokenextractors.LexToken +import parsley.expr.GOps object parser { import lexer.implicits.implicitSymbol @@ -75,9 +76,9 @@ object parser { // Expressions private lazy val ``: FParsley[Expr] = precedence { - // SOps(InfixR)(Or from "||") +: - // SOps(InfixR)(And from "&&") +: - SOps(InfixN)(Eq from "==", Neq from "!=") +: + GOps(InfixR)(Or from "||") +: + GOps(InfixR)(And from "&&") +: + SOps(InfixN)(Eq from "==", Neq from "!=") +: SOps(InfixN)( Less from "<", LessEq from "<=",