Sha256: 241f9a98c84ec9b09a0e83b30f6dfea050ab95aad95f5d339f0bccc254f597e7

Contents?: true

Size: 767 Bytes

Versions: 65

Compression:

Stored size: 767 Bytes

Contents

# frozen_string_literal: true

class Code
  class Parser
    class Class < Language
      def statement
        While
      end

      def name
        Name
      end

      def code
        Code
      end

      def whitespace
        Whitespace
      end

      def whitespace?
        whitespace.maybe
      end

      def class_keyword
        str("class")
      end

      def end_keyword
        str("end")
      end

      def lesser
        str("<")
      end

      def root
        (
          class_keyword << whitespace? << name.aka(:name) <<
            (
              whitespace? << lesser << whitespace? << name.aka(:superclass)
            ).maybe << code.aka(:body) << end_keyword.maybe
        ).aka(:class) | statement
      end
    end
  end
end

Version data entries

65 entries across 65 versions & 1 rubygems

Version Path
code-ruby-0.6.4 lib/code/parser/class.rb
code-ruby-0.6.3 lib/code/parser/class.rb
code-ruby-0.6.2 lib/code/parser/class.rb
code-ruby-0.6.1 lib/code/parser/class.rb
code-ruby-0.6.0 lib/code/parser/class.rb