feat: add option flag, greedy compilation of multiple files, and refactor to... #41

Merged
gc1523 merged 34 commits from master into intelliwacc-ide 2025-03-13 23:28:08 +00:00
30 changed files with 778 additions and 306 deletions
Showing only changes of commit 0497dd34a0 - Show all commits

View File

@@ -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 `<expr>`: 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 "<=",