Class: Code::Parser::List

Inherits:
Language
  • Object
show all
Defined in:
lib/code/parser/list.rb

Instance Method Summary collapse

Instance Method Details

#closing_square_bracketObject



22
23
24
# File 'lib/code/parser/list.rb', line 22

def closing_square_bracket
  str("]")
end

#codeObject



6
7
8
# File 'lib/code/parser/list.rb', line 6

def code
  Code.new.present
end

#commaObject



26
27
28
# File 'lib/code/parser/list.rb', line 26

def comma
  str(",")
end

#elementObject



30
31
32
# File 'lib/code/parser/list.rb', line 30

def element
  code
end

#opening_square_bracketObject



18
19
20
# File 'lib/code/parser/list.rb', line 18

def opening_square_bracket
  str("[")
end

#rootObject



34
35
36
37
38
39
40
# File 'lib/code/parser/list.rb', line 34

def root
  (
    opening_square_bracket.ignore << whitespace? <<
      (whitespace? << element << (whitespace? << comma).maybe).repeat <<
      (whitespace? << closing_square_bracket.ignore).maybe
  ).aka(:list) | String
end

#whitespaceObject



10
11
12
# File 'lib/code/parser/list.rb', line 10

def whitespace
  Whitespace
end

#whitespace?Boolean

Returns:



14
15
16
# File 'lib/code/parser/list.rb', line 14

def whitespace?
  whitespace.maybe
end