Commit Graph

215 Commits (4a86d45c17e89c1392daac72583fa3d526b49b99)

Author SHA1 Message Date
Doug Coleman d635604026 modern: Removing ch'a syntax.
It's cool but I don't like it right now.
2019-09-28 10:59:07 -05:00
Doug Coleman 08a09f70ff Merge remote-tracking branch 'origin/master' into modern-harvey3 2019-04-07 10:32:28 -05:00
John Benediktsson 64d835e2bf parser: use ?first. 2019-03-16 20:33:40 -07:00
Doug Coleman cbfdf2cfa8 factor: Add more parser guts. 2018-08-10 18:01:19 -05:00
Doug Coleman f05c7e8cd8 factor: char: a -> ch'a.
Also all contractions are not allowed in word names anymore. Even Data cannot use contractions...
2018-08-09 18:02:38 -04:00
Doug Coleman e06eb4ad3e parser: Refactor the parser some. scan-datum vs scan-token come on... 2018-08-09 17:21:06 -04:00
Doug Coleman 59f406b64e parser: Add ``tag'payload`` and ``tag: payload`` 2018-08-09 15:59:12 -04:00
Doug Coleman c3f12c945d parser: fix using 2018-08-07 09:45:11 -04:00
Doug Coleman 00fb574a8d factor: SYMBOL: foo foo [ bar ] initialize -> INITIALIZED-SYMBOL: foo [ bar ] 2018-08-04 21:53:05 -04:00
Doug Coleman 29708329ab core: Fix how \words are parsed. 2017-08-31 21:21:15 -05:00
Doug Coleman 7ca280aee6 factor: SYNTAX: \FOO: 2017-08-31 21:21:13 -05:00
Doug Coleman a2eb7b854d core: SYNTAX: should allow \FOO words. 2017-08-31 21:21:13 -05:00
Björn Lindqvist 1c53e43768 parser: new parsing word parse-array-def
The idea behind this word is that in many cases parsing to an array is
much more convenient than parsing to a quotation.
2016-12-03 12:56:47 +01:00
Doug Coleman 3fa9ad91f6 effects: Add support for :type as standalone, unnamed types. ( :float -- ) pprints as ( _: float -- ), and ( :( a -- b ) -- ) works, etc. :union{ foo bar } pprints as object but could be improved if the effects parser uses the prettyprinter somehow.
Move ?execute-parsing to parser to avoid circularity.
2016-05-12 16:27:50 -07:00
John Benediktsson 950f42eedd parser: make scan-class assert result is a classoid like it used to. 2016-04-13 16:41:48 -07:00
John Benediktsson e477f6996f Fix comments to be ! not #!. 2015-09-08 16:15:10 -07:00
John Benediktsson 18e557785f Revert "parser: split parse-file into (parse-file)."
This reverts commit 18bbe6292a.
2015-08-15 16:05:41 -07:00
John Benediktsson 18bbe6292a parser: split parse-file into (parse-file). 2015-08-15 09:12:06 -07:00
John Benediktsson 2c41c913ee parser: split out check-word-name. 2015-08-14 19:51:52 -07:00
John Benediktsson ceb75057da change ERROR: words from throw-foo back to foo. 2015-08-13 16:13:05 -07:00
Doug Coleman 02008979d9 factor: Change ERROR: foo ; to define ``throw-foo`` instead of having ``foo`` throw implicitly. The old ``foo`` still throws implicitly because this is a big change to get right in one patch, but it should be removed soon. 2015-08-12 15:26:18 -05:00
Doug Coleman 117727d444 parser, source-files: you need to bootstrap after this patch.
cleans up some file vs path naming.

file -> current-source-file
file -> current-test-file somewhere else
source-file -> path>source-file
source-file-tuple -> source-file
2015-07-23 22:03:43 -07:00
Doug Coleman 2adeed9cb3 factor: rename classes:members to class-members so it doesn't conflict with sets:members. ugh. 2015-07-20 00:32:42 -07:00
Björn Lindqvist 4d47b826bf parser: added helper word use-first-word? to simplify no-word 2015-06-09 13:02:03 +02:00
Doug Coleman 6e60c811ac core: Rename create to create-word, create-in to create-word-in. 2015-06-08 12:47:35 -07:00
John Benediktsson b366a06c41 use reject instead of [ ... not ] filter. 2015-05-12 18:50:34 -07:00
Doug Coleman 401b57c6b9 Revert "parser: Print "Loading" message as a comment for homoiconicity. See #1221."
This reverts commit 10cf6e3dd2.
2014-11-23 22:41:15 -08:00
Doug Coleman 10cf6e3dd2 parser: Print "Loading" message as a comment for homoiconicity. See #1221. 2014-11-23 16:56:49 -08:00
Doug Coleman c71c200063 parser: Fix for empty word list. Oops. 2014-10-27 19:38:32 -07:00
Doug Coleman ce3d31014c parser: Cleaner fix, comments. Fixes #1174. 2014-10-27 12:12:55 -07:00
Doug Coleman b83fe1db51 parser: Consider private words now for autocompletes, but to avoid pulling in private words unexpectedly, throw a restart that confirms you really want the private word. Fixes #1174. 2014-10-27 12:01:37 -07:00
John Benediktsson a38524eb99 lexer/parser: rename (scan-token) to ?scan-token, (scan-datum) to ?scan-datum. 2014-05-20 09:13:58 -07:00
John Benediktsson 2b7d53b7d1 parser: add invalid-word-name, use it to check for redefining quotes. 2013-04-25 15:41:20 -07:00
Doug Coleman 2d9a15c7c1 lexer, parser: Rename unexpected-eof. 2013-03-23 21:35:50 -07:00
Doug Coleman 5fab749dcc words: Change word -> last-word, set-word -> set-last-word. 2013-03-23 16:12:03 -07:00
John Benediktsson bc18b2cd29 compiler.units: more use of hash-sets. 2013-03-10 18:04:37 -07:00
John Benediktsson 7f3f90eb8d compiler: more use of hash-sets. 2013-03-10 16:13:31 -07:00
John Benediktsson 5487480126 core: cleanup USING lists. 2013-03-05 10:34:47 -08:00
John Benediktsson c1269bc8a3 parser: make sure lines is an array. 2012-07-27 19:06:22 -07:00
Joe Groff 0b45465722 parser: remove parse-base dead code 2011-11-23 22:33:31 -08:00
Doug Coleman cab0369fec classes: Make methods dispatch on maybes. Fix a couple bugs in the implementation of maybe. classoid? is now a dumb test if an object could be a well-formed classoid; valid-classoid? tests for well-formedness. Move maybe tests. Make pprint* work better on methods. 2011-11-22 15:12:20 -08:00
Doug Coleman 067f9830ef classes.union: Define a maybe: word that makes a tuple that acts as an anonymous union for a type and f. Updated all the places we define UNION: ?foo foo POSTPONE: f ;. Fixes #416 and lots of headaches. 2011-11-22 01:56:13 -08:00
Doug Coleman dc0a921866 Remove the lexer-factory because nothing uses it. Update usages. 2011-10-29 01:11:19 -07:00
Doug Coleman b43c069b81 Change prompt to something we can copy/paste back into the Factor repl. Add auto-use word. Fixes #301. 2011-10-29 01:05:38 -07:00
John Benediktsson 80e1c8e3f2 Eliminate duplicate syntax for stack effects "(" no longer drops and is identical to the old "((", which is now removed. 2011-10-18 13:19:39 -07:00
Doug Coleman 671f19d70f Remove all non-core uses of (scan-token)
Add scan-datum
Add scan-number
Document more words
Fixes #225.
2011-10-02 12:00:08 -07:00
Doug Coleman 76580da5d5 Refactor the lexer/parser to expose friendlier words for scanning tokens. The preferred top-level words now throw an exception on EOF.
CREATE -> scan-new
CREATE-CLASS -> scan-new-class
CREATE-WORD -> scan-new-word
CREATE-GENERIC -> scan-new-generic
scan -> (scan-token)
scan-token now throws on eof
(scan-word) returns word/number/f
scan-word now throws on eof
scan-word-name expects a non-number
Fixes #183.
Fixes #209.
2011-09-29 11:28:28 -07:00
Doug Coleman 5fce2d0f27 Make "quiet" true by default. Disable quiet mode for listener, bootstrap, and deploy tool.
Move "quiet" to parser-quiet? in parser.notes. Change a few places where quiet was handle wrong.
2011-09-06 17:58:12 -07:00
Joe Groff c3f8f5067e catch merge conflicts in source and report them as such 2010-04-06 13:34:26 -07:00
Joe Groff 163c26ad72 lexer, parser: show initial parsing word line as part of lexer-errors 2010-02-28 13:01:03 -08:00