class ERLE::Atom

Constants

INNER_PATTERN

pattern /^[a-z]*/ # TODO: Handle uppercase

Protected Class Methods

parse(parser) click to toggle source

An atom is a literal, a constant with name. An atom is to be enclosed in single quotes (') if it does not begin with a lower-case letter or if it contains other characters than alphanumeric characters, underscore (_), or @.

# File lib/erle/elements/atom.rb, line 27
def self.parse(parser)
  if (parser.scan(open))
    parser.scan(@enclosed_pattern)
    result = parser.matched
    parser.scan(close)
  elsif parser.scan(@unopened_pattern)
    result = parser.matched.to_sym
  else
    parser.raise_unexpected_token
  end

  new(result)
end

Public Instance Methods

to_ruby() click to toggle source
# File lib/erle/elements/atom.rb, line 16
def to_ruby
  @output ||= @input
end