23 lines
		
	
	
		
			703 B
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			703 B
		
	
	
	
		
			Factor
		
	
	
| ! Copyright (C) 2009 blei, Doug Coleman.
 | |
| ! See http://factorcode.org/license.txt for BSD license.
 | |
| USING: kernel locals make math multiline sequences ;
 | |
| IN: nested-comments
 | |
| 
 | |
| : (count-subsequences) ( count substring string n -- count' )
 | |
|     [ 2dup ] dip start* [
 | |
|         pick length +
 | |
|         [ 1 + ] 3dip (count-subsequences)
 | |
|     ] [
 | |
|         2drop
 | |
|     ] if* ;
 | |
| 
 | |
| : count-subsequences ( subseq seq -- n )
 | |
|     [ 0 ] 2dip 0 (count-subsequences) ;
 | |
| 
 | |
| : parse-nestable-comment ( parsed-vector left-to-parse -- parsed-vector )
 | |
|     1 - "*)" parse-multiline-string
 | |
|     [ "(*" ] dip
 | |
|     count-subsequences + dup 0 > [ parse-nestable-comment ] [ drop ] if ;
 | |
| 
 | |
| SYNTAX: (* 1 parse-nestable-comment ;
 |