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