Module: Ruby::Rego::TokenType

Defined in:
lib/ruby/rego/token.rb

Overview

Token type constants used by the lexer. rubocop:disable Metrics/ModuleLength :reek:TooManyConstants

Constant Summary collapse

PACKAGE =
:PACKAGE
IMPORT =
:IMPORT
AS =
:AS
DEFAULT =
:DEFAULT
IF =
:IF
CONTAINS =
:CONTAINS
SOME =
:SOME
IN =
:IN
EVERY =
:EVERY
NOT =
:NOT
AND =
:AND
OR =
:OR
WITH =
:WITH
ELSE =
:ELSE
TRUE =
:TRUE
FALSE =
:FALSE
NULL =
:NULL
DATA =
:DATA
INPUT =
:INPUT
ASSIGN =
:ASSIGN
EQ =
:EQ
NEQ =
:NEQ
LT =
:LT
LTE =
:LTE
GT =
:GT
GTE =
:GTE
PLUS =
:PLUS
MINUS =
:MINUS
STAR =
:STAR
SLASH =
:SLASH
PERCENT =
:PERCENT
PIPE =
:PIPE
AMPERSAND =
:AMPERSAND
UNIFY =
:UNIFY
LPAREN =
:LPAREN
RPAREN =
:RPAREN
LBRACKET =
:LBRACKET
RBRACKET =
:RBRACKET
LBRACE =
:LBRACE
RBRACE =
:RBRACE
DOT =
:DOT
COMMA =
:COMMA
SEMICOLON =
:SEMICOLON
COLON =
:COLON
UNDERSCORE =
:UNDERSCORE
STRING =
:STRING
TEMPLATE_STRING =
:TEMPLATE_STRING
NUMBER =
:NUMBER
RAW_STRING =
:RAW_STRING
RAW_TEMPLATE_STRING =
:RAW_TEMPLATE_STRING
IDENT =
:IDENT
EOF =
:EOF
NEWLINE =
:NEWLINE
COMMENT =
:COMMENT
KEYWORDS =

rubocop:disable Lint/DeprecatedConstants

[
  PACKAGE,
  IMPORT,
  AS,
  DEFAULT,
  IF,
  CONTAINS,
  SOME,
  IN,
  EVERY,
  NOT,
  AND,
  OR,
  WITH,
  ELSE,
  TRUE,
  FALSE,
  NULL,
  DATA,
  INPUT
].freeze
OPERATORS =

rubocop:enable Lint/DeprecatedConstants

[
  ASSIGN,
  EQ,
  NEQ,
  LT,
  LTE,
  GT,
  GTE,
  PLUS,
  MINUS,
  STAR,
  SLASH,
  PERCENT,
  AND,
  OR,
  PIPE,
  AMPERSAND,
  UNIFY
].freeze
DELIMITERS =
[
  LPAREN,
  RPAREN,
  LBRACKET,
  RBRACKET,
  LBRACE,
  RBRACE,
  DOT,
  COMMA,
  SEMICOLON,
  COLON,
  UNDERSCORE
].freeze
LITERALS =
[
  STRING,
  TEMPLATE_STRING,
  NUMBER,
  RAW_STRING,
  RAW_TEMPLATE_STRING,
  IDENT
].freeze
SPECIALS =
[
  EOF,
  NEWLINE,
  COMMENT
].freeze

Class Method Summary collapse

Class Method Details

.keyword?(type) ⇒ Boolean

Parameters:

  • type (Symbol)

Returns:

  • (Boolean)


145
146
147
# File 'lib/ruby/rego/token.rb', line 145

def self.keyword?(type)
  KEYWORDS.include?(type)
end

.literal?(type) ⇒ Boolean

Parameters:

  • type (Symbol)

Returns:

  • (Boolean)


157
158
159
# File 'lib/ruby/rego/token.rb', line 157

def self.literal?(type)
  LITERALS.include?(type)
end

.operator?(type) ⇒ Boolean

Parameters:

  • type (Symbol)

Returns:

  • (Boolean)


151
152
153
# File 'lib/ruby/rego/token.rb', line 151

def self.operator?(type)
  OPERATORS.include?(type)
end