Sha256: d16b2ead93c0aae1ca714ac9d96a721de010122c738896372cb10db803f5ebdb

Contents?: true

Size: 888 Bytes

Versions: 6

Compression:

Stored size: 888 Bytes

Contents

class Code
  class Parser
    class Power < ::Code::Parser
      def parse
        previous_cursor = cursor
        left = parse_subclass(::Code::Parser::Negation)
        comments_before = parse_comments
        if match(ASTERISK + ASTERISK)
          comments_after = parse_comments
          right = parse_subclass(::Code::Parser::Power)
          if right
            {
              power: {
                left: left,
                right: right,
                comments_before: comments_before,
                comments_after: comments_after
              }.compact
            }
          else
            @cursor = previous_cursor
            buffer!
            parse_subclass(::Code::Parser::Negation)
          end
        else
          @cursor = previous_cursor
          buffer!
          parse_subclass(::Code::Parser::Negation)
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
template-ruby-parser-0.1.2 lib/code/parser/power.rb
code-ruby-parser-0.1.2 lib/code/parser/power.rb
template-ruby-parser-0.1.1 lib/code/parser/power.rb
code-ruby-parser-0.1.1 lib/code/parser/power.rb
template-ruby-parser-0.1.0 lib/code/parser/power.rb
code-ruby-parser-0.1.0 lib/code/parser/power.rb