A Rego (Open Policy Agent) lexer, parser, evaluator and CLI for MoonBit.
moon run cmd/moonrego -- version
moon run cmd/moonrego -- helpmoon check --target all --deny-warn
moon fmt --check
moon test --target wasm --deny-warn
moon test --target wasm-gc --deny-warnpub(all) suberror EvalError {
UnknownFunction(String)
Unsupported(String)
InvalidOperation(String)
DivisionByZero
RecursionLimit(String)
Query(ParseError)
} derive(Debug)pub(all) enum Term {
NullTerm
BoolTerm(Bool)
NumberTerm(String)
StringTerm(String)
Var(String)
Ref(Term, Array[RefStep])
ArrayLit(Array[Term])
ObjectLit(Array[(Term, Term)])
SetLit(Array[Term])
Call(Term, Array[Term])
ArrayComprehension(Array[Expr], Term)
SetComprehension(Array[Expr], Term)
ObjectComprehension(Array[Expr], Term, Term)
} derive(Eq, Debug)pub(all) enum TokenKind {
Eof
Ident
NumberLit
StringLit
RawStringLit
Package
Import
As
Default
Else
Not
SomeKeyword
Every
In
If
Contains
With
TrueKeyword
FalseKeyword
NullKeyword
LBrace
RBrace
LBracket
RBracket
LParen
RParen
Comma
Colon
Semicolon
Dot
Pipe
Ampersand
Assign
Equal
EqualEqual
NotEqual
Less
LessEqual
Greater
GreaterEqual
Plus
Minus
Star
Slash
Percent
} derive(Eq, Debug)fn is_ident_continue(c : Char) -> BoolInstall
Download zipA Rego (Open Policy Agent) lexer, parser, evaluator and CLI for MoonBit.