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
Slava Pestov
f0aa694c7e
effects.parser: throw a proper no-word error if effect references an unknown class word
2010-02-23 23:57:13 +13:00
Slava Pestov
db3a23ffe0
parser: auto-use prefers non-private words to private words
2010-02-22 19:25:08 +13:00
Slava Pestov
3237e48b2d
vocabs.parser: The manifest is now a definition observer, and updates itself when compilation units complete. This helps keep listener's search path up to date if vocabularies and words are renamed, defined, and undefined
...
- This makes forget-vocab more reliable in the listener
- It also fixes the problem of listener sessions where QUALIFIED: was used referring to outdated words if the vocabulary in question was reloaded
2010-01-27 20:49:26 +13:00
Slava Pestov
ed37ed6b70
parser: make 'CONSTANT: foo<newline>3' work in the listener
2010-01-15 08:30:26 +13:00
Doug Coleman
7ce4b746e5
parsed -> suffix!, add append!
2009-10-28 13:38:27 -05:00
Joe Groff
ce807b0fbb
factor "parse-word" out of "scan-word"
2009-10-16 12:26:31 -05:00
Slava Pestov
3c55e7fe0c
Add NAN: literal syntax for NANs with a payload
2009-09-12 15:06:15 -05:00
Slava Pestov
aba4fa7371
Recent vocabs.parser change had a regression: vocabs with no roots (scratchpad) were excluded from default use list. Also move with-interactive-vocabs to listener vocab
2009-06-07 21:59:13 -05:00
Slava Pestov
35ccf0231e
Factor out parser note code into parser.notes vocabulary, and print a note if a using list contains duplicates
2009-05-16 09:40:17 -05:00
Slava Pestov
274655e77c
More work on auto-use
2009-05-16 04:26:45 -05:00
Slava Pestov
b31fe9b8f2
Implement stricter vocab search path semantics, with a new API for vocabs.parser. Add map-find-last to sequences vocab
2009-05-14 22:31:29 -05:00
Slava Pestov
0c1e519dcb
Rename use+ to add-use, move search to vocabs.parser, EXCLUDE: bombs out if word doesn't exist
2009-05-13 22:15:48 -05:00