Commit Graph

178 Commits (33374015515f9002d3c1178152ae01f3e02d6a39)

Author SHA1 Message Date
John Benediktsson 3337401551 core: cleanup USING lists. 2013-03-05 10:34:47 -08:00
John Benediktsson 93624a821b parser: make sure lines is an array. 2012-07-27 19:06:22 -07:00
Joe Groff 12a0fdf293 parser: remove parse-base dead code 2011-11-23 22:33:31 -08:00
Doug Coleman 627bce6615 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 14dbf929ee 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 d3ba70a7d8 Remove the lexer-factory because nothing uses it. Update usages. 2011-10-29 01:11:19 -07:00
Doug Coleman 9ce1f894a2 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 f2741b34a4 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 94f3ca3b8c 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 300138eb4d 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 433dc02702 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 e8dc04746e catch merge conflicts in source and report them as such 2010-04-06 13:34:26 -07:00
Joe Groff 5a653d4473 lexer, parser: show initial parsing word line as part of lexer-errors 2010-02-28 13:01:03 -08:00
Slava Pestov 1f89dc505a 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 31c467cf52 parser: auto-use prefers non-private words to private words 2010-02-22 19:25:08 +13:00
Slava Pestov 871eb5fd74 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 e5044c38bc parser: make 'CONSTANT: foo<newline>3' work in the listener 2010-01-15 08:30:26 +13:00
Doug Coleman a57e990af7 parsed -> suffix!, add append! 2009-10-28 13:38:27 -05:00
Joe Groff c45e969a85 factor "parse-word" out of "scan-word" 2009-10-16 12:26:31 -05:00
Slava Pestov 47bc1498f7 Add NAN: literal syntax for NANs with a payload 2009-09-12 15:06:15 -05:00
Slava Pestov c491d05763 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 02d6c7ca17 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 83219eb21c More work on auto-use 2009-05-16 04:26:45 -05:00
Slava Pestov 3ebd4594e8 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 b1bcc44dd5 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 a776dffeb6 Split up tools.vocabs. Note that load-everything is now named load-all 2009-05-04 06:44:17 -05:00
Doug Coleman 4cef8ff880 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
Slava Pestov 8b6ae748b9 Merge branch 'master' into new_ui 2009-01-27 06:34:19 -06:00
Slava Pestov 597be972b8 Put help.lint in default use list 2009-01-27 04:11:51 -06:00
Slava Pestov 4de760a338 No smart quotes here 2009-01-27 01:33:38 -06:00