Class: TSJSON::LexerUtils

Inherits:
Object
  • Object
show all
Defined in:
lib/language/lexer/utils.rb

Class Method Summary collapse

Class Method Details

.get_token_desc(token) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/language/lexer/utils.rb', line 19

def get_token_desc(token)
  value = token.value
  return(
    get_token_kind_desc(token.kind) +
      (value != nil ? " \"#{value}\"" : '')
  )
end

.get_token_kind_desc(kind) ⇒ Object



27
28
29
# File 'lib/language/lexer/utils.rb', line 27

def get_token_kind_desc(kind)
  return is_punctuator_token_kind?(kind) ? "\"#{kind}\"" : kind
end

.is_operation_token(kind) ⇒ Object



15
16
17
# File 'lib/language/lexer/utils.rb', line 15

def is_operation_token(kind)
  return kind == TokenKind::PIPE || kind == TokenKind::AMP
end

.is_punctuator_token_kind?(kind) ⇒ Boolean

Returns:

  • (Boolean)


4
5
6
7
8
9
10
11
12
13
# File 'lib/language/lexer/utils.rb', line 4

def is_punctuator_token_kind?(kind)
  return(
    kind === TokenKind::PIPE || kind === TokenKind::AMP ||
      kind === TokenKind::COLON || kind === TokenKind::EQUALS ||
      kind === TokenKind::CHEVRON_L || kind === TokenKind::CHEVRON_R ||
      kind === TokenKind::PAREN_L || kind === TokenKind::PAREN_R ||
      kind === TokenKind::BRACKET_L || kind === TokenKind::BRACKET_R ||
      kind === TokenKind::BRACE_L || kind === TokenKind::BRACE_R
  )
end