From 5af79078c6bcf925c2eb18feb7686b5aad63a966 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Thu, 3 Feb 2022 00:14:54 -0600 Subject: [PATCH] vocabs.platforms: Add some more experimental USE: style words. examples: USE-IF: roman [ os macosx? ] USE-UNIX: io.unix USE-WINDOWS: windows old: { { [ os windows? ] [ "alien.libraries.windows" ] } { [ os unix? ] [ "alien.libraries.unix" ] } } cond require new: USE-WINDOWS: alien.libraries.windows USE-UNIX: alien.libraries.unix --- basis/vocabs/platforms/platforms.factor | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/basis/vocabs/platforms/platforms.factor b/basis/vocabs/platforms/platforms.factor index 9289ec3cd7..4f91ab1c72 100644 --- a/basis/vocabs/platforms/platforms.factor +++ b/basis/vocabs/platforms/platforms.factor @@ -1,6 +1,6 @@ ! Copyright (C) 2018 Doug Coleman. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors compiler.units kernel multiline parser +USING: accessors compiler.units kernel lexer multiline parser sequences splitting system vocabs.parser ; IN: vocabs.platforms @@ -50,3 +50,16 @@ SYNTAX: " parse-multiline-string os windows? [ drop ] [ ".windows" parse-platform-section ] if ; + +SYNTAX: USE-UNIX: scan-token os unix? [ use-vocab ] [ drop ] if ; +SYNTAX: USE-FREEBSD: scan-token os freebsd? [ use-vocab ] [ drop ] if ; +SYNTAX: USE-LINUX: scan-token os linux? [ use-vocab ] [ drop ] if ; +SYNTAX: USE-MACOSX: scan-token os macosx? [ use-vocab ] [ drop ] if ; +SYNTAX: USE-WINDOWS: scan-token os windows? [ use-vocab ] [ drop ] if ; + +SYNTAX: USE-X86-32: scan-token os x86.32? [ use-vocab ] [ drop ] if ; +SYNTAX: USE-X86-64: scan-token os x86.64? [ use-vocab ] [ drop ] if ; +SYNTAX: USE-ARM-32: scan-token os arm.32? [ use-vocab ] [ drop ] if ; +SYNTAX: USE-ARM-64: scan-token os arm.64? [ use-vocab ] [ drop ] if ; + +SYNTAX: USE-IF: scan-token scan-object call( -- ? ) [ use-vocab ] [ drop ] if ; -- 2.34.1