| 
									
										
										
										
											2009-03-21 03:54:59 -04:00
										 |  |  | ! Copyright (C) 2009 Doug Coleman. | 
					
						
							|  |  |  | ! See http://factorcode.org/license.txt for BSD license. | 
					
						
							|  |  |  | USING: sequences math kernel strings combinators.short-circuit ;
 | 
					
						
							|  |  |  | IN: quoting | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | : quote? ( ch -- ? ) "'\"" member? ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | : quoted? ( str -- ? )
 | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         [ length 1 > ] | 
					
						
							|  |  |  |         [ first quote? ] | 
					
						
							| 
									
										
										
										
											2009-05-25 17:38:33 -04:00
										 |  |  |         [ [ first ] [ last ] bi = ] | 
					
						
							| 
									
										
										
										
											2009-03-21 03:54:59 -04:00
										 |  |  |     } 1&& ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | : unquote ( str -- newstr )
 | 
					
						
							| 
									
										
										
										
											2009-05-25 17:38:33 -04:00
										 |  |  |     dup quoted? [ but-last-slice rest-slice >string ] when ;
 |