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



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

def closing_square_bracket
  str("]")
end

#codeObject



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

def code
  Code
end

#code_presentObject



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

def code_present
  Code.new.present
end

#commaObject



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

def comma
  str(",")
end

#elementObject



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

def element
  (whitespace? << code_present << (whitespace? << comma.ignore).maybe) |
    (whitespace? << code << whitespace? << comma.ignore)
end

#opening_square_bracketObject



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

def opening_square_bracket
  str("[")
end

#rootObject



39
40
41
42
43
44
# File 'lib/code/parser/list.rb', line 39

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

#whitespaceObject



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

def whitespace
  Whitespace
end

#whitespace?Boolean

Returns:



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

def whitespace?
  whitespace.maybe
end