Sha256: db812654973c0e07d0827bb021d97ba95d12e3b7c791f48572e196bc2b0ca3c3
Contents?: true
Size: 1.75 KB
Versions: 1
Compression:
Stored size: 1.75 KB
Contents
module FilterLexer # The root element, expression is a collection of other expressions and and/or operators class Expression < Treetop::Runtime::SyntaxNode end # A group is simply an expression in parenthesis class Group < Treetop::Runtime::SyntaxNode end # A filter is the core object of the lexer: an indentifier, an operator and a data class Filter < Treetop::Runtime::SyntaxNode # The identifier element # # Of type FilterLexer::Identifier def identifier return elements[0] end # The operator element # # Subclass of FilterLexer::Operator def operator return elements[1] end # The value element # # Subclass of FilterLexer::Value def data return elements[2] end end # An logic operator is the glue between filters class LogicOperator < Treetop::Runtime::SyntaxNode end class OrOperator < LogicOperator end class AndOperator < LogicOperator end # An identifier is the target (variable) of the filter class Identifier < Treetop::Runtime::SyntaxNode end # An operator is the type (function) of the filter class Operator < Treetop::Runtime::SyntaxNode end class EQOperator < Operator end class NEQOperator < Operator end class LTOperator < Operator end class LEOperator < Operator end class GTOperator < Operator end class GEOperator < Operator end class NotLikeOperator < Operator end class LikeOperator < Operator end # A value is the data of the filter class Value < Treetop::Runtime::SyntaxNode end class ValueSpecial < Value end class ValueScalar < Value end class BooleanLiteralFalse < ValueSpecial end class BooleanLiteralTrue < ValueSpecial end class NullLiteral < ValueSpecial end class StringLiteral < ValueScalar end class NumberLiteral < ValueScalar end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
filter_lexer-0.1.1 | lib/filter_lexer/nodes.rb |