deps/cql/parser

Types

pub type Exp {
  OperatorExpr(
    numerator: Exp,
    denominator: Exp,
    operator: Operator,
  )
  Primary(primary: Primary)
}

Constructors

pub type ExpContainer {
  ExpContainer(exp: Exp)
}

Constructors

  • ExpContainer(exp: Exp)
pub type Operator {
  Add
  Sub
  Mul
  Div
}

Constructors

  • Add
  • Sub
  • Mul
  • Div
pub type Primary {
  PrimaryWord(word: Word)
  PrimaryExp(exp: Exp)
}

Constructors

  • PrimaryWord(word: Word)
  • PrimaryExp(exp: Exp)
pub type Query {
  Query(exp: Exp)
}

Constructors

  • Query(exp: Exp)
pub type Word {
  Word(value: String)
}

Constructors

  • Word(value: String)

Values

pub fn do_parse_expr(input: String) -> Result(Exp, String)
pub fn find_rightmost_operator_at_level(
  input: String,
  operator: String,
  start_pos: Int,
  paren_level: Int,
  rightmost_pos: Int,
) -> Result(#(String, String), String)
pub fn is_balanced_parens(
  input: String,
  pos: Int,
  count: Int,
) -> Bool
pub fn is_last_char(input: String, pos: Int) -> Bool
pub fn parse_expr(input: String) -> Result(ExpContainer, String)
Search Document