class Rugments::Lexers::SML

Public Class Methods

analyze_text(_text) click to toggle source
# File lib/rugments/lexers/sml.rb, line 29
def self.analyze_text(_text)
  0
end
keywords() click to toggle source
# File lib/rugments/lexers/sml.rb, line 12
def self.keywords
  @keywords ||= Set.new %w(
    abstype and andalso as case datatype do else end exception
    fn fun handle if in infix infixr let local nonfix of op open
    orelse raise rec then type val with withtype while
    eqtype functor include sharing sig signature struct structure
    where
  )
end
symbolic_reserved() click to toggle source
# File lib/rugments/lexers/sml.rb, line 22
def self.symbolic_reserved
  @symbolic_reserved ||= Set.new %w(: | = => -> # :>)
end

Public Instance Methods

token_for_final_id(id) click to toggle source
# File lib/rugments/lexers/sml.rb, line 62
def token_for_final_id(id)
  if self.class.keywords.include?(id) || self.class.symbolic_reserved.include?(id)
    Error
  else
    Name
  end
end
token_for_id(id) click to toggle source
# File lib/rugments/lexers/sml.rb, line 70
def token_for_id(id)
  if self.class.keywords.include? id
    Keyword::Reserved
  elsif self.class.symbolic_reserved.include? id
    Punctuation
  else
    Name
  end
end
token_for_id_with_dot(id) click to toggle source
# File lib/rugments/lexers/sml.rb, line 54
def token_for_id_with_dot(id)
  if self.class.keywords.include? id
    Error
  else
    Name::Namespace
  end
end