module Rip::Parser::Keywords

Public Class Methods

all() click to toggle source
# File source/rip/parser/keywords.rb, line 29
def self.all
  [
    conditional,
    dependency,
    exceptional,
    object,
    pseudo,
    query,
    transfer
  ].inject(&:+)
end
conditional() click to toggle source
# File source/rip/parser/keywords.rb, line 41
def self.conditional
  make_keywords(:if, :switch, :case, :else)
end
dependency() click to toggle source
# File source/rip/parser/keywords.rb, line 45
def self.dependency
  make_keywords(:import)
end
exceptional() click to toggle source
# File source/rip/parser/keywords.rb, line 49
def self.exceptional
  make_keywords(:try, :catch, :finally)
end
object() click to toggle source
# File source/rip/parser/keywords.rb, line 53
def self.object
  [
    *make_keywords(:class, :enum, :interface),
    Keyword.new(:swerve_rocket, '~>'),
    Keyword.new(:dash_rocket, '->'),
    Keyword.new(:fat_rocket, '=>')
  ]
end
pseudo() click to toggle source
# File source/rip/parser/keywords.rb, line 62
def self.pseudo
  [
    Keyword.new(:class_self, 'self'),
    Keyword.new(:class_prototype, '@'),
    Keyword.new(:lambda_receiver, '@')
  ]
end
query() click to toggle source
# File source/rip/parser/keywords.rb, line 70
def self.query
  make_keywords(:from, :as, :join, :union, :on, :where, :order, :select, :limit, :take)
end
transfer() click to toggle source
# File source/rip/parser/keywords.rb, line 74
def self.transfer
  make_keywords(:exit, :return, :throw)
end

Protected Class Methods

make_keywords(*names) click to toggle source
# File source/rip/parser/keywords.rb, line 80
def self.make_keywords(*names)
  names.map { |name| Keyword.new(name) }
end