mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	fix line break code (fix to LF)
This commit is contained in:
		
							parent
							
								
									46b9ca6c54
								
							
						
					
					
						commit
						08ff9edb53
					
				
					 1 changed files with 134 additions and 134 deletions
				
			
		
							
								
								
									
										268
									
								
								ast.rb
									
										
									
									
									
								
							
							
						
						
									
										268
									
								
								ast.rb
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,134 +1,134 @@
 | 
			
		|||
# for ast.c
 | 
			
		||||
 | 
			
		||||
class RubyVM
 | 
			
		||||
 | 
			
		||||
  # AbstractSyntaxTree provides methods to parse Ruby code into
 | 
			
		||||
  # abstract syntax trees. The nodes in the tree
 | 
			
		||||
  # are instances of RubyVM::AbstractSyntaxTree::Node.
 | 
			
		||||
  #
 | 
			
		||||
  # This class is MRI specific as it exposes implementation details
 | 
			
		||||
  # of the MRI abstract syntax tree.
 | 
			
		||||
  #
 | 
			
		||||
  module AbstractSyntaxTree
 | 
			
		||||
 | 
			
		||||
    #  call-seq:
 | 
			
		||||
    #     RubyVM::AbstractSyntaxTree.parse(string) -> RubyVM::AbstractSyntaxTree::Node
 | 
			
		||||
    #
 | 
			
		||||
    #  Parses the given _string_ into an abstract syntax tree,
 | 
			
		||||
    #  returning the root node of that tree.
 | 
			
		||||
    #
 | 
			
		||||
    #  SyntaxError is raised if the given _string_ is invalid syntax.
 | 
			
		||||
    #
 | 
			
		||||
    #    RubyVM::AbstractSyntaxTree.parse("x = 1 + 2")
 | 
			
		||||
    #    # => #<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-1:9>
 | 
			
		||||
    def self.parse string
 | 
			
		||||
      __builtin_ast_s_parse string
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    #  call-seq:
 | 
			
		||||
    #     RubyVM::AbstractSyntaxTree.parse_file(pathname) -> RubyVM::AbstractSyntaxTree::Node
 | 
			
		||||
    #
 | 
			
		||||
    #   Reads the file from _pathname_, then parses it like ::parse,
 | 
			
		||||
    #   returning the root node of the abstract syntax tree.
 | 
			
		||||
    #
 | 
			
		||||
    #   SyntaxError is raised if _pathname_'s contents are not
 | 
			
		||||
    #   valid Ruby syntax.
 | 
			
		||||
    #
 | 
			
		||||
    #     RubyVM::AbstractSyntaxTree.parse_file("my-app/app.rb")
 | 
			
		||||
    #     # => #<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-31:3>
 | 
			
		||||
    def self.parse_file pathname
 | 
			
		||||
      __builtin_ast_s_parse_file pathname
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    #  call-seq:
 | 
			
		||||
    #     RubyVM::AbstractSyntaxTree.of(proc)   -> RubyVM::AbstractSyntaxTree::Node
 | 
			
		||||
    #     RubyVM::AbstractSyntaxTree.of(method) -> RubyVM::AbstractSyntaxTree::Node
 | 
			
		||||
    #
 | 
			
		||||
    #   Returns AST nodes of the given _proc_ or _method_.
 | 
			
		||||
    #
 | 
			
		||||
    #     RubyVM::AbstractSyntaxTree.of(proc {1 + 2})
 | 
			
		||||
    #     # => #<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:35-1:42>
 | 
			
		||||
    #
 | 
			
		||||
    #     def hello
 | 
			
		||||
    #       puts "hello, world"
 | 
			
		||||
    #     end
 | 
			
		||||
    #
 | 
			
		||||
    #     RubyVM::AbstractSyntaxTree.of(method(:hello))
 | 
			
		||||
    #     # => #<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-3:3>
 | 
			
		||||
    def self.of body
 | 
			
		||||
      __builtin_ast_s_of body
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    # RubyVM::AbstractSyntaxTree::Node instances are created by parse methods in
 | 
			
		||||
    # RubyVM::AbstractSyntaxTree.
 | 
			
		||||
    #
 | 
			
		||||
    # This class is MRI specific.
 | 
			
		||||
    #
 | 
			
		||||
    class Node
 | 
			
		||||
 | 
			
		||||
      #  call-seq:
 | 
			
		||||
      #     node.type -> symbol
 | 
			
		||||
      #
 | 
			
		||||
      #  Returns the type of this node as a symbol.
 | 
			
		||||
      #
 | 
			
		||||
      #    root = RubyVM::AbstractSyntaxTree.parse("x = 1 + 2")
 | 
			
		||||
      #    root.type # => :SCOPE
 | 
			
		||||
      #    call = root.children[2]
 | 
			
		||||
      #    call.type # => :OPCALL
 | 
			
		||||
      def type
 | 
			
		||||
        __builtin_ast_node_type
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      #  call-seq:
 | 
			
		||||
      #     node.first_lineno -> integer
 | 
			
		||||
      #
 | 
			
		||||
      #  The line number in the source code where this AST's text began.
 | 
			
		||||
      def first_lineno
 | 
			
		||||
        __builtin_ast_node_first_lineno
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      #  call-seq:
 | 
			
		||||
      #     node.first_column -> integer
 | 
			
		||||
      #
 | 
			
		||||
      #  The column number in the source code where this AST's text began.
 | 
			
		||||
      def first_column
 | 
			
		||||
        __builtin_ast_node_first_column
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      #  call-seq:
 | 
			
		||||
      #     node.last_lineno -> integer
 | 
			
		||||
      #
 | 
			
		||||
      #  The line number in the source code where this AST's text ended.
 | 
			
		||||
      def last_lineno
 | 
			
		||||
        __builtin_ast_node_last_lineno
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      #  call-seq:
 | 
			
		||||
      #     node.last_column -> integer
 | 
			
		||||
      #
 | 
			
		||||
      #  The column number in the source code where this AST's text ended.
 | 
			
		||||
      def last_column
 | 
			
		||||
        __builtin_ast_node_last_column
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      #  call-seq:
 | 
			
		||||
      #     node.children -> array
 | 
			
		||||
      #
 | 
			
		||||
      #  Returns AST nodes under this one.  Each kind of node
 | 
			
		||||
      #  has different children, depending on what kind of node it is.
 | 
			
		||||
      #
 | 
			
		||||
      #  The returned array may contain other nodes or <code>nil</code>.
 | 
			
		||||
      def children
 | 
			
		||||
        __builtin_ast_node_children
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      #  call-seq:
 | 
			
		||||
      #     node.inspect -> string
 | 
			
		||||
      #
 | 
			
		||||
      #  Returns debugging information about this node as a string.
 | 
			
		||||
      def inspect
 | 
			
		||||
        __builtin_ast_node_inspect
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
# for ast.c
 | 
			
		||||
 | 
			
		||||
class RubyVM
 | 
			
		||||
 | 
			
		||||
  # AbstractSyntaxTree provides methods to parse Ruby code into
 | 
			
		||||
  # abstract syntax trees. The nodes in the tree
 | 
			
		||||
  # are instances of RubyVM::AbstractSyntaxTree::Node.
 | 
			
		||||
  #
 | 
			
		||||
  # This class is MRI specific as it exposes implementation details
 | 
			
		||||
  # of the MRI abstract syntax tree.
 | 
			
		||||
  #
 | 
			
		||||
  module AbstractSyntaxTree
 | 
			
		||||
 | 
			
		||||
    #  call-seq:
 | 
			
		||||
    #     RubyVM::AbstractSyntaxTree.parse(string) -> RubyVM::AbstractSyntaxTree::Node
 | 
			
		||||
    #
 | 
			
		||||
    #  Parses the given _string_ into an abstract syntax tree,
 | 
			
		||||
    #  returning the root node of that tree.
 | 
			
		||||
    #
 | 
			
		||||
    #  SyntaxError is raised if the given _string_ is invalid syntax.
 | 
			
		||||
    #
 | 
			
		||||
    #    RubyVM::AbstractSyntaxTree.parse("x = 1 + 2")
 | 
			
		||||
    #    # => #<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-1:9>
 | 
			
		||||
    def self.parse string
 | 
			
		||||
      __builtin_ast_s_parse string
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    #  call-seq:
 | 
			
		||||
    #     RubyVM::AbstractSyntaxTree.parse_file(pathname) -> RubyVM::AbstractSyntaxTree::Node
 | 
			
		||||
    #
 | 
			
		||||
    #   Reads the file from _pathname_, then parses it like ::parse,
 | 
			
		||||
    #   returning the root node of the abstract syntax tree.
 | 
			
		||||
    #
 | 
			
		||||
    #   SyntaxError is raised if _pathname_'s contents are not
 | 
			
		||||
    #   valid Ruby syntax.
 | 
			
		||||
    #
 | 
			
		||||
    #     RubyVM::AbstractSyntaxTree.parse_file("my-app/app.rb")
 | 
			
		||||
    #     # => #<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-31:3>
 | 
			
		||||
    def self.parse_file pathname
 | 
			
		||||
      __builtin_ast_s_parse_file pathname
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    #  call-seq:
 | 
			
		||||
    #     RubyVM::AbstractSyntaxTree.of(proc)   -> RubyVM::AbstractSyntaxTree::Node
 | 
			
		||||
    #     RubyVM::AbstractSyntaxTree.of(method) -> RubyVM::AbstractSyntaxTree::Node
 | 
			
		||||
    #
 | 
			
		||||
    #   Returns AST nodes of the given _proc_ or _method_.
 | 
			
		||||
    #
 | 
			
		||||
    #     RubyVM::AbstractSyntaxTree.of(proc {1 + 2})
 | 
			
		||||
    #     # => #<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:35-1:42>
 | 
			
		||||
    #
 | 
			
		||||
    #     def hello
 | 
			
		||||
    #       puts "hello, world"
 | 
			
		||||
    #     end
 | 
			
		||||
    #
 | 
			
		||||
    #     RubyVM::AbstractSyntaxTree.of(method(:hello))
 | 
			
		||||
    #     # => #<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-3:3>
 | 
			
		||||
    def self.of body
 | 
			
		||||
      __builtin_ast_s_of body
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    # RubyVM::AbstractSyntaxTree::Node instances are created by parse methods in
 | 
			
		||||
    # RubyVM::AbstractSyntaxTree.
 | 
			
		||||
    #
 | 
			
		||||
    # This class is MRI specific.
 | 
			
		||||
    #
 | 
			
		||||
    class Node
 | 
			
		||||
 | 
			
		||||
      #  call-seq:
 | 
			
		||||
      #     node.type -> symbol
 | 
			
		||||
      #
 | 
			
		||||
      #  Returns the type of this node as a symbol.
 | 
			
		||||
      #
 | 
			
		||||
      #    root = RubyVM::AbstractSyntaxTree.parse("x = 1 + 2")
 | 
			
		||||
      #    root.type # => :SCOPE
 | 
			
		||||
      #    call = root.children[2]
 | 
			
		||||
      #    call.type # => :OPCALL
 | 
			
		||||
      def type
 | 
			
		||||
        __builtin_ast_node_type
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      #  call-seq:
 | 
			
		||||
      #     node.first_lineno -> integer
 | 
			
		||||
      #
 | 
			
		||||
      #  The line number in the source code where this AST's text began.
 | 
			
		||||
      def first_lineno
 | 
			
		||||
        __builtin_ast_node_first_lineno
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      #  call-seq:
 | 
			
		||||
      #     node.first_column -> integer
 | 
			
		||||
      #
 | 
			
		||||
      #  The column number in the source code where this AST's text began.
 | 
			
		||||
      def first_column
 | 
			
		||||
        __builtin_ast_node_first_column
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      #  call-seq:
 | 
			
		||||
      #     node.last_lineno -> integer
 | 
			
		||||
      #
 | 
			
		||||
      #  The line number in the source code where this AST's text ended.
 | 
			
		||||
      def last_lineno
 | 
			
		||||
        __builtin_ast_node_last_lineno
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      #  call-seq:
 | 
			
		||||
      #     node.last_column -> integer
 | 
			
		||||
      #
 | 
			
		||||
      #  The column number in the source code where this AST's text ended.
 | 
			
		||||
      def last_column
 | 
			
		||||
        __builtin_ast_node_last_column
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      #  call-seq:
 | 
			
		||||
      #     node.children -> array
 | 
			
		||||
      #
 | 
			
		||||
      #  Returns AST nodes under this one.  Each kind of node
 | 
			
		||||
      #  has different children, depending on what kind of node it is.
 | 
			
		||||
      #
 | 
			
		||||
      #  The returned array may contain other nodes or <code>nil</code>.
 | 
			
		||||
      def children
 | 
			
		||||
        __builtin_ast_node_children
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      #  call-seq:
 | 
			
		||||
      #     node.inspect -> string
 | 
			
		||||
      #
 | 
			
		||||
      #  Returns debugging information about this node as a string.
 | 
			
		||||
      def inspect
 | 
			
		||||
        __builtin_ast_node_inspect
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue