Represents the abstract base parser class that parses source code in a specific way. A parser should implement {parse}, {tokenize} and {enumerator}.
To register a parser, see {SourceParser.register_parser_type}
@abstract @see parse @see tokenize @see enumerator @since 0.5.6
This default constructor does nothing. The subclass is responsible for storing the source contents and filename if they are required. @param [String] source the source contents @param [String] filename the name of the file if from disk
# File lib/yard/parser/base.rb, line 25 def initialize(source, filename) raise NotImplementedError, "invalid parser implementation" end
Convenience method to create a new parser and {parse}
# File lib/yard/parser/base.rb, line 17 def self.parse(source, filename = nil) new(source, filename).parse end
This method should be implemented to return a list of semantic tokens representing the source code to be post-processed. Otherwise the method should return nil.
@abstract @return [Array] a list of semantic tokens representing the source code
to be post-processed
@return [nil] if no post-processing should be done
# File lib/yard/parser/base.rb, line 51 def enumerator nil end
Generated with the Darkfish Rdoc Generator 2.