Class: Code::Parser::While
- Defined in:
- lib/code/parser/while.rb
Instance Method Summary collapse
- #begin_keyword ⇒ Object
- #body ⇒ Object
- #closing_curly_bracket ⇒ Object
- #code ⇒ Object
- #do_keyword ⇒ Object
- #end_keyword ⇒ Object
- #loop_keyword ⇒ Object
- #opening_curly_bracket ⇒ Object
- #root ⇒ Object
- #separator ⇒ Object
- #statement ⇒ Object
- #until_keyword ⇒ Object
- #while_keyword ⇒ Object
- #whitespace ⇒ Object
- #whitespace? ⇒ Boolean
Instance Method Details
#begin_keyword ⇒ Object
42 43 44 |
# File 'lib/code/parser/while.rb', line 42 def begin_keyword str("begin") << separator.present end |
#body ⇒ Object
58 59 60 61 62 63 64 65 66 67 |
# File 'lib/code/parser/while.rb', line 58 def body ( (begin_keyword | do_keyword).ignore << whitespace << code << (whitespace? << end_keyword).maybe.ignore ) | ( opening_curly_bracket.ignore << whitespace? << code << (whitespace? << closing_curly_bracket).maybe.ignore ) | (code << (whitespace? << end_keyword).maybe.ignore) end |
#closing_curly_bracket ⇒ Object
54 55 56 |
# File 'lib/code/parser/while.rb', line 54 def closing_curly_bracket str("}") end |
#do_keyword ⇒ Object
38 39 40 |
# File 'lib/code/parser/while.rb', line 38 def do_keyword str("do") << separator.present end |
#end_keyword ⇒ Object
34 35 36 |
# File 'lib/code/parser/while.rb', line 34 def end_keyword str("end") << separator.present end |
#loop_keyword ⇒ Object
46 47 48 |
# File 'lib/code/parser/while.rb', line 46 def loop_keyword str("loop") << separator.present end |
#opening_curly_bracket ⇒ Object
50 51 52 |
# File 'lib/code/parser/while.rb', line 50 def opening_curly_bracket str("{") end |
#root ⇒ Object
69 70 71 72 73 74 75 76 77 78 |
# File 'lib/code/parser/while.rb', line 69 def root ( ( ( (while_keyword | until_keyword).aka(:operator) << whitespace << statement.aka(:statement) ) | (loop_keyword.aka(:operator) << whitespace) ) << body.aka(:body) ).aka(:while) | statement end |
#separator ⇒ Object
22 23 24 |
# File 'lib/code/parser/while.rb', line 22 def separator Name.new.separator end |
#until_keyword ⇒ Object
30 31 32 |
# File 'lib/code/parser/while.rb', line 30 def until_keyword str("until") << separator.present end |
#while_keyword ⇒ Object
26 27 28 |
# File 'lib/code/parser/while.rb', line 26 def while_keyword str("while") << separator.present end |
#whitespace ⇒ Object
10 11 12 |
# File 'lib/code/parser/while.rb', line 10 def whitespace Whitespace end |
#whitespace? ⇒ Boolean
14 15 16 |
# File 'lib/code/parser/while.rb', line 14 def whitespace? whitespace.maybe end |