25 lines
		
	
	
		
			797 B
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			797 B
		
	
	
	
		
			Factor
		
	
	
| USING: kernel tools.test compiler.tree compiler.tree.builder
 | |
| compiler.tree.recursive compiler.tree.def-use
 | |
| compiler.tree.def-use.simplified accessors sequences sorting classes ;
 | |
| IN: compiler.tree.def-use.simplified
 | |
| 
 | |
| [ { #call #return } ] [
 | |
|     [ 1 dup reverse ] build-tree compute-def-use
 | |
|     first out-d>> first actually-used-by
 | |
|     [ node>> class-of ] map natural-sort
 | |
| ] unit-test
 | |
| 
 | |
| : word-1 ( a -- b ) dup [ word-1 ] when ; inline recursive
 | |
| 
 | |
| [ { #introduce } ] [
 | |
|     [ word-1 ] build-tree analyze-recursive compute-def-use
 | |
|     last in-d>> first actually-defined-by
 | |
|     [ node>> class-of ] map natural-sort
 | |
| ] unit-test
 | |
| 
 | |
| [ { #if #return } ] [
 | |
|     [ word-1 ] build-tree analyze-recursive compute-def-use
 | |
|     first out-d>> first actually-used-by
 | |
|     [ node>> class-of ] map natural-sort
 | |
| ] unit-test
 |