14 lines
		
	
	
		
			445 B
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			14 lines
		
	
	
		
			445 B
		
	
	
	
		
			Factor
		
	
	
! Copyright (C) 2008, 2010 Slava Pestov
 | 
						|
! See http://factorcode.org/license.txt for BSD license.
 | 
						|
USING: peg peg.ebnf arrays sequences strings kernel ;
 | 
						|
IN: simple-tokenizer
 | 
						|
 | 
						|
EBNF: tokenize
 | 
						|
space = " "
 | 
						|
escaped-char = "\" .:ch => [[ ch ]]
 | 
						|
quoted = '"' (escaped-char | [^"])*:a '"' => [[ a ]]
 | 
						|
unquoted = (escaped-char | [^ "])+
 | 
						|
argument = (quoted | unquoted) => [[ >string ]]
 | 
						|
command = space* (argument:a space* => [[ a ]])+:c !(.) => [[ c ]]
 | 
						|
;EBNF
 |