vocabs.platforms: Add <LINUX LINUX> sections that ignore code for the wrong platform.
							parent
							
								
									47408528d0
								
							
						
					
					
						commit
						39cbe60fd2
					
				| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
Doug Coleman
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,36 @@
 | 
			
		|||
! Copyright (C) 2018 Doug Coleman.
 | 
			
		||||
! See http://factorcode.org/license.txt for BSD license.
 | 
			
		||||
USING: accessors compiler.units kernel multiline parser
 | 
			
		||||
sequences splitting system vocabs.parser ;
 | 
			
		||||
IN: vocabs.platforms
 | 
			
		||||
 | 
			
		||||
: with-vocabulary ( quot suffix -- )
 | 
			
		||||
    [
 | 
			
		||||
        [ [ current-vocab name>> ] dip ?tail drop ]
 | 
			
		||||
        [ append ] bi set-current-vocab
 | 
			
		||||
        call
 | 
			
		||||
    ] [
 | 
			
		||||
        [ current-vocab name>> ] dip ?tail drop set-current-vocab
 | 
			
		||||
    ] bi ; inline
 | 
			
		||||
 | 
			
		||||
: parse-platform-section ( string suffix -- )
 | 
			
		||||
    [
 | 
			
		||||
        [ [ string-lines parse-lines ] curry with-nested-compilation-unit ]
 | 
			
		||||
        curry
 | 
			
		||||
    ] dip with-vocabulary drop ; inline
 | 
			
		||||
 | 
			
		||||
SYNTAX: <UNIX
 | 
			
		||||
    "UNIX>" parse-multiline-string
 | 
			
		||||
    os unix? [ ".unix" parse-platform-section ] [ drop ] if ;
 | 
			
		||||
 | 
			
		||||
SYNTAX: <MACOSX
 | 
			
		||||
    "MACOSX>" parse-multiline-string
 | 
			
		||||
    os macosx? [ ".macosx" parse-platform-section ] [ drop ] if ;
 | 
			
		||||
 | 
			
		||||
SYNTAX: <LINUX
 | 
			
		||||
    "LINUX>" parse-multiline-string
 | 
			
		||||
    os linux? [ ".linux" parse-platform-section ] [ drop ] if ;
 | 
			
		||||
 | 
			
		||||
SYNTAX: <WINDOWS
 | 
			
		||||
    "WINDOWS>" parse-multiline-string
 | 
			
		||||
    os windows? [ ".windows" parse-platform-section ] [ drop ] if ;
 | 
			
		||||
		Loading…
	
		Reference in New Issue