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
Slava Pestov
b2c3183b21
Split up tools.vocabs. Note that load-everything is now named load-all
2009-05-04 06:44:17 -05:00
Doug Coleman
471fe2c272
rename lines to stream-lines
...
rename cnotents to stream-contents
2009-05-01 10:41:27 -05:00
Slava Pestov
48e70b65fa
Move cross-referencing stuff to tools.crossref since compiler doesn't depend on it anymore, and compute cross-referencing index as needed; reduces image size by ~4Mb
2009-04-22 04:20:38 -05:00
Slava Pestov
e811dd6192
Reverse compiler.errors => tools.errrs dependency to reduce deploy image size
2009-04-18 03:21:31 -05:00
Slava Pestov
e52be965f0
Finish moving compiler.errors to basis
2009-04-13 02:50:23 -05:00
Slava Pestov
d227fcd33f
Move compiler.errors to basis
2009-04-13 02:18:41 -05:00
Slava Pestov
c4be8bd65a
Refactor error code so that error types are registered; listener prints a summary of errors
2009-04-12 16:08:46 -05:00
Slava Pestov
7adb76aaf4
Factor out some compiler error code into source-files.errors
2009-04-09 04:50:38 -05:00
Slava Pestov
7741d2ca23
- definitions.icons now has a reference article
...
- move about to help.vocabs; it now opens the vocab browser instead
- help.vocabs is in default use list
- add runnable-vocab predicate class
2009-03-24 09:11:45 -05:00
Slava Pestov
637d06a4f8
Add silly 'tip of the day' feature, and 'recently visited' list to UI browser home page
2009-03-24 04:11:08 -05:00
Slava Pestov
e0d48e3ab6
New utility word: complete-effect
2009-03-22 17:59:40 -05:00
Slava Pestov
c0154c1391
Change (:) to parse effect immediately, and remove ( parsing word
2009-03-21 03:17:35 -05:00
Slava Pestov
be4fb1e7d9
Move call( and execute( to core
2009-03-16 20:11:36 -05:00
Slava Pestov
38c6be94d4
Fixing some stack comments
2009-03-16 06:17:18 -05:00
Slava Pestov
fdcd8f210a
Add 'see' to default vocab search path
2009-03-11 13:57:31 -05:00
Slava Pestov
44815fd981
Better handling of case when user-defined accessor becomes auto-generated
2009-03-06 23:33:03 -06:00
Slava Pestov
bf663e830a
Changing a method into a generated slot accessor would result in the generated accessor being forgotten
2009-03-06 20:02:31 -06:00
Slava Pestov
e4a0396550
Add parse-quotation hook to parser which locals overrides. '[ and [ use this hook. Fixes locals bug reported by erg
2009-03-06 19:48:04 -06:00
Slava Pestov
2d3d722fd0
parser: tweak note printing
2009-02-14 00:45:34 -06:00
Slava Pestov
ab386d01aa
Merge branch 'master' into new_ui
2009-02-10 16:23:14 -06:00
Slava Pestov
07caee3405
Update some existing code to use initialize
2009-02-10 16:16:12 -06:00
Slava Pestov
a0c1d32197
Move io.streams.string from core to basis
2009-02-06 01:58:51 -06:00