26 lines
		
	
	
		
			682 B
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			682 B
		
	
	
	
		
			Factor
		
	
	
! Copyright (C) 2011 Doug Coleman.
 | 
						|
! See http://factorcode.org/license.txt for BSD license.
 | 
						|
USING: combinators.smart hashtables kernel parser quotations
 | 
						|
sequences vectors ;
 | 
						|
IN: code-arrays
 | 
						|
 | 
						|
: parse-code-array ( delimiter quot stack -- seq )
 | 
						|
    [ parse-until >quotation ] dip curry append! ;
 | 
						|
 | 
						|
DEFER: }}
 | 
						|
DEFER: ]]
 | 
						|
 | 
						|
SYNTAX: {{ \ }} [ output>array ] parse-code-array ;
 | 
						|
 | 
						|
SYNTAX: [[ \ ]] [ [ ] output>sequence ] parse-code-array ;
 | 
						|
 | 
						|
SYNTAX: H{{ \ }} [ output>array >hashtable ] parse-code-array ;
 | 
						|
 | 
						|
SYNTAX: V{{ \ }} [ V{ } output>sequence ] parse-code-array ;
 | 
						|
 | 
						|
: vector ( seq -- vector ) >vector ;
 | 
						|
 | 
						|
: hashtable ( seq -- hashtable ) >hashtable ;
 | 
						|
 | 
						|
: quotation ( seq -- vector ) >quotation ;
 |