Commit Graph

63 Commits

Author SHA1 Message Date
Robby Findler
aa8b280f1c adjust the splay tree implementation so that it creates fewer cons
cells when searching in the tree

Two tricks: represent lists of nodes as improper lists so singleton
lists don't allocate a cons and pass around two accumulators that
correspond to the hd & tl of a path, instead of cons'ing that up
into a list and them immediately taking it apart again

measurement: when starting up drracket with
collects/drracket/private/unit.rkt and then waiting for the colorer to
finish, and then inserting an open quote right before the first open
quote in the file (and waiting again for the colorer to finish)
creates 249000 cons cells before this change and 116000 after this
change

After a little more work, I'm pretty much convinced that this was
the wrong approach and that the splaying implementation should just
change to not allocate the paths into lists at all, thus removing
the other 116k cons cells. (I plan to get to this another day;
it should not be difficult now that I roughly understand how these
things work.)

I also looked into top-down splaying and found these notes to
be illuminating:

  http://digital.cs.usu.edu/~allan/DS/Notes/Ch22.pdf

They essentially convinced me that we cannot use top-down splaying
here, since the "reassembling" stage requires moving some arbitrary,
unexplored subtree from a right-child to a left-child, and thus the
left-subtree-length cannot be updated properly.
2012-04-05 07:14:52 -05:00
Robby Findler
5dad811a5d rackety 2012-04-03 17:08:00 -05:00
Robby Findler
404b4da138 avoid allocation for 'paren' structs 2012-04-03 17:08:00 -05:00
Eli Barzilay
f7c67b49a4 Big newline at EOF scan. 2012-02-29 00:28:11 -05:00
Robby Findler
11994bd4f8 fix a bug in the module lexer; it was returning the wrong length for the tokens
it creates when the #lang line isn't well-formed (eg "#lang racke").

closes PR 12399
2011-11-28 21:16:31 -06:00
Matthew Flatt
fca5ceecc9 switch `codeblock' to strings instead of bytes
Also, fix scribble lexer line counting.

Closes PR 12225
2011-11-27 11:06:21 -07:00
Robby Findler
65fd0234ad add a unicode test to scheme-lexer.rkt
and change the tests so they all run with port line
counting enabled (or else the unicode test fails)

adjust module-lexer.rkt tests so they can run in either
port-counting mode or not (but currently run them all in
port-counting mode because scheme-lexer doesn't work without it)

also make a first stab at what needs to change in the module
lexer to make it work in non port line-counting mode
2011-11-03 22:41:27 -05:00
Robby Findler
d00aed6f1b fix the module reader for the case when there are non-ASCII unicode characters
in comments before the #lang line

also add an #:init-position argument to peeking-input-port
2011-11-03 17:13:17 -05:00
Robby Findler
1eaf53d4cb adjust the module lexer so that it treats the entire range that
'read-language' uses as a single token in the case that read-language
fails. This helps it to deal with things like s-exp and at-exp
properly

closes PR 12260
2011-10-08 08:08:36 -05:00
Ryan Culpepper
1b702a2ae3 docs reorganization
added tutorial, racket categories
  relabeled some other categories
  normalized manual names: de-bolded, changed some names
2011-07-01 17:16:53 -06:00
Robby Findler
69b5daa9e6 remove docs tests that no one was interested in 2011-07-01 11:38:09 +08:00
Eli Barzilay
ac26fe7554 A ton of @scheme*' -> @racket*' and related updates.
Also, updates some of the mzlib files to point at `racket/*' libraries
rather than to `scheme/*' ones.
2011-06-25 04:08:47 -04:00
Matthew Flatt
bbd98528ba improve docs for `module-lexer' 2011-06-10 06:21:35 -07:00
Robby Findler
507b1cd8fd moved the docs-complete library into rackunit
to avoid having a separate, new manual for the
  one library
2011-05-05 16:10:42 -05:00
Robby Findler
e7d0029aea added lots of new tests that our documentation is complete 2011-04-25 13:24:43 -05:00
Robby Findler
68b5d2abf8 adjust module lexer to handle the case of specials in the editor properly 2011-03-01 15:20:55 -06:00
Robby Findler
83b00c0cf1 adjust the module-lexer so it explicitly notes malformed #lang lines before going into "no-lang-line" mode
closes PR 11766
2011-02-22 20:42:19 -06:00
Robby Findler
50e9aec0ab catch more exceptions in the module lexer when it calls read-language 2011-02-10 09:56:43 -06:00
Robby Findler
d659d2f0af changed the module lexer's strategy to be able to handle
the part of the buffer before the #lang line properly
  closes PR 11381
2011-02-09 15:27:05 -06:00
Robby Findler
dce1d0ad47 revert the module-lexer.rkt changes that I accidentally pushed 2011-02-08 10:55:35 -06:00
Robby Findler
49c3011f49 started to fix the colorer problems (now that I undestand how!)
plus some extra checking in the colorer
2011-02-08 10:02:42 -06:00
David Van Horn
c9519fd113 Fixed various spelling errors. 2011-02-03 17:42:33 -05:00
Matthew Flatt
bf4fc2574c fix syntax colorer for #true and #false 2010-10-12 08:22:12 -06:00
Matthew Flatt
e4aab34656 Fix `at-exp' syntax colorer to handle non-text input
- added 'special-filter-input-port' to `racker/port'
 Merge to v5.0
2010-05-21 19:40:32 -06:00
Eli Barzilay
939af28a4c Some random ".ss" -> ".rkt"s 2010-05-17 05:58:19 -04:00
Matthew Flatt
28b4043077 rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00
Robby Findler
59d90b279d improved support for #lang planet (in drscheme) 2010-04-21 12:14:17 -04:00
Matthew Flatt
973d51c20f change 'read-language' protocol so that the result from 'get-info' accepts a key plus default value (instead of just a key)
svn: r16459
2009-10-29 23:05:56 +00:00
Robby Findler
40ed4c0e87 svn: r16417 2009-10-22 23:24:40 +00:00
Matthew Flatt
d807421a07 extended syntax colorer to support lexer-specific backup; fix problems with new color lexers
svn: r15617
2009-07-29 03:31:29 +00:00
Matthew Flatt
84485e14ad try reporting complex Scribble braces as regular braces
svn: r15614
2009-07-28 22:20:25 +00:00
Matthew Flatt
c261379a29 better coloring and bug fixes for Scribble notation
svn: r15613
2009-07-28 22:06:16 +00:00
Matthew Flatt
c1f5e3abb4 changed Scribble coloring for better tabbing
svn: r15612
2009-07-28 21:11:51 +00:00
Matthew Flatt
8b0b01939a use the Scheme lexer when then module path is bad (or a planet path)
svn: r15610
2009-07-28 18:41:06 +00:00
Matthew Flatt
12ab7c3aff disable syntax-coloring-triggered planet installs, for now
svn: r15609
2009-07-28 18:39:12 +00:00
Matthew Flatt
d48332ed26 fix for syntax coloring (4.2.1.4)
svn: r15608
2009-07-28 18:30:21 +00:00
Matthew Flatt
1ba7cf0926 #lang syntax coloring; Scribble syntax coloring
svn: r15607
2009-07-28 18:06:14 +00:00
Robby Findler
0c73b84692 PR 10344
svn: r15545
2009-07-24 04:37:34 +00:00
Eli Barzilay
c0a8a01222 Changed @itemize{...} to @itemize[...] (done after comparing the doc
tree and verifying that there are no changes).
(Also fixed a few bugs that were in the code)

svn: r14427
2009-04-05 17:46:20 +00:00
Matthew Flatt
077e5a4666 change reference and some other docs to use #f instead of false/c and or/c insteda of one-of/c
svn: r12023
2008-10-13 19:45:37 +00:00
Matthew Flatt
9453aaaccf assign authors to manuals
svn: r11287
2008-08-15 20:16:06 +00:00
Scott Owens
5295dcb197 Clarified how the paren matching tree uses its internal data structures.
svn: r9720
2008-05-07 10:38:33 +00:00
Matthew Flatt
a26b334c67 proprocessor doc, merge scribblings and doc-categories fields
svn: r9414
2008-04-23 00:20:25 +00:00
Matthew Flatt
fbfc9bf883 keyword-ized plot, plot and mime docs
svn: r9304
2008-04-14 21:26:28 +00:00
Matthew Flatt
4c14045c5d syntax coloring for prefabs
svn: r9229
2008-04-10 00:22:38 +00:00
Robby Findler
362f16b411 the paren matcher now works for previous interactinos with the REPL and hitting return up above copies the text down to the next prompt
svn: r8840
2008-03-01 21:49:31 +00:00
Matthew Flatt
bb6c2fba5a make colorer handle #! abbreviation or #lang
svn: r8839
2008-03-01 14:38:38 +00:00
Eli Barzilay
bb34f747b6 make all files terminate with a newline
svn: r8786
2008-02-24 21:27:36 +00:00
Eli Barzilay
b1a08edd5a use new require specs in many places
svn: r8774
2008-02-23 09:42:03 +00:00
Matthew Flatt
ca1a9dc8bf docs form David Van Horn; Slideshow tweaks
svn: r8661
2008-02-14 14:07:57 +00:00