diff --git a/core/bootstrap/syntax.factor b/core/bootstrap/syntax.factor index db70416931..d5e3ac071c 100644 --- a/core/bootstrap/syntax.factor +++ b/core/bootstrap/syntax.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2007, 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: words words.symbol sequences vocabs kernel -compiler.units ; +compiler.units multiline ; in: bootstrap.syntax [ @@ -11,6 +11,7 @@ in: bootstrap.syntax "(" ":" ";" + "![[" "![=[" "![==[" "PRIVATE<" "B{" "BV{" diff --git a/core/modern/lexer/lexer-tests.factor b/core/modern/lexer/lexer-tests.factor index ced7d1c4a2..2dfc2fe099 100644 --- a/core/modern/lexer/lexer-tests.factor +++ b/core/modern/lexer/lexer-tests.factor @@ -3,11 +3,13 @@ USING: kernel modern.lexer sequences tools.test ; in: modern.lexer.tests -! { T{ slice f 0 8 "dinosaur" } f } [ -! "dinosaur" lex-til-whitespace -! ] unit-test +![[ +{ T{ slice f 0 8 "dinosaur" } f } [ + "dinosaur" lex-til-whitespace +] unit-test -! { f f } [ -! "dinosaur" -! [ lex-til-whitespace 2drop ] [ lex-til-whitespace ] bi -! ] unit-test \ No newline at end of file +{ f f } [ + "dinosaur" + [ lex-til-whitespace 2drop ] [ lex-til-whitespace ] bi +] unit-test +]] \ No newline at end of file diff --git a/language/multiline/authors.txt b/core/multiline/authors.txt similarity index 100% rename from language/multiline/authors.txt rename to core/multiline/authors.txt diff --git a/language/multiline/multiline-docs.factor b/core/multiline/multiline-docs.factor similarity index 100% rename from language/multiline/multiline-docs.factor rename to core/multiline/multiline-docs.factor diff --git a/language/multiline/multiline-tests.factor b/core/multiline/multiline-tests.factor similarity index 100% rename from language/multiline/multiline-tests.factor rename to core/multiline/multiline-tests.factor diff --git a/language/multiline/multiline.factor b/core/multiline/multiline.factor similarity index 100% rename from language/multiline/multiline.factor rename to core/multiline/multiline.factor diff --git a/language/multiline/summary.txt b/core/multiline/summary.txt similarity index 100% rename from language/multiline/summary.txt rename to core/multiline/summary.txt diff --git a/language/multiline/tags.txt b/core/multiline/tags.txt similarity index 100% rename from language/multiline/tags.txt rename to core/multiline/tags.txt diff --git a/core/syntax/syntax.factor b/core/syntax/syntax.factor index 7dfbc4d8b3..990ec84a87 100644 --- a/core/syntax/syntax.factor +++ b/core/syntax/syntax.factor @@ -12,7 +12,7 @@ lexer locals.errors locals.parser macros math memoize namespaces parser quotations sbufs sequences slots source-files splitting stack-checker strings strings.parser strings.parser.private typed vectors vocabs vocabs.parser words words.alias -words.constant words.symbol delegate.private hints ; +words.constant words.symbol delegate.private hints multiline ; in: bootstrap.syntax ! These words are defined as a top-level form, instead of with @@ -58,6 +58,18 @@ in: bootstrap.syntax { "_" "@" } define-fry-specifiers ! "@" [ "Only valid inside a fry" throw ] ( -- * ) define-fry-specifier + "![[" [ + "]]" parse-multiline-string drop + ] define-core-syntax + + "![=[" [ + "]=]" parse-multiline-string drop + ] define-core-syntax + + "![==[" [ + "]==]" parse-multiline-string drop + ] define-core-syntax + "PRIMITIVE:" [ current-vocab name>> scan-word scan-effect ";" expect ensure-primitive diff --git a/language/bootstrap/compiler/compiler.factor b/language/bootstrap/compiler/compiler.factor index 020c55df9d..91630f705b 100644 --- a/language/bootstrap/compiler/compiler.factor +++ b/language/bootstrap/compiler/compiler.factor @@ -65,7 +65,7 @@ gc { unify-variables - (balance-actual-depth) + balance-actual-depth } compile-unoptimized {