# File lib/puppet/parser/parser_support.rb, line 44
44:     def ast(klass, hash = {})
45:         hash[:line] = @lexer.line unless hash.include?(:line)
46: 
47:         unless hash.include?(:file)
48:             if file = @lexer.file
49:                 hash[:file] = file
50:             end
51:         end
52: 
53:         k = klass.new(hash)
54:         k.doc = lexer.getcomment(hash[:line]) if !k.nil? and k.use_docs and k.doc.empty?
55:         return k
56:     end