Graydon Hoare
8fc624bc08
Fix various drift issues in the qq branch.
2012-02-03 20:54:18 -07:00
Kevin Atkinson
dbb13883f7
Additional testcase.
2012-02-03 20:54:18 -07:00
Kevin Atkinson
3604f36938
Implement folding of ast::ty.
2012-02-03 20:54:17 -07:00
Kevin Atkinson
42e25b2bb9
Type anti-quotes now work, add test case.
2012-02-03 20:54:17 -07:00
Kevin Atkinson
5f6a1159bb
Fix q-q so that non-expression q-q actually work when there is embed anti-q.
2012-02-03 20:54:00 -07:00
Kevin Atkinson
a2dde9a692
Allow anti-quotes to also be ast::ty rather than just ast::expr.
2012-02-03 20:41:49 -07:00
Kevin Atkinson
f7fab77102
Add testcase.
2012-02-03 20:41:49 -07:00
Kevin Atkinson
6dcd12dc22
Implement quasi-quoting of multiple syntatic categories.
2012-02-03 20:41:49 -07:00
Kevin Atkinson
35a199c036
Formatting cleanups.
2012-02-03 20:41:49 -07:00
Kevin Atkinson
9090a5c03b
Store info about file "substr".
...
That is when a string that is part of a file needs to be parsed for a
reason, record that the string is a substr of the file rather than
using "<anon>" or "-" as the file name. This will eventually allow
pointing to the right location, for now it just uses a more
meaningful string for the filename.
2012-02-03 20:41:49 -07:00
Kevin Atkinson
4d71285c93
Implement quasi-quotes in more macro form: #ast{...}.
...
The #(...) form is still supported for now.
2012-02-03 20:41:49 -07:00
Kevin Atkinson
1c91fb4d91
Don't rely on filename to get a file from the filemap
...
as there may be more than one filemap with the same filename (in the
case of stdin for instance). This involved storing a pointer to the
filemap rather than the filename in location info such as
codemap::pos.
2012-02-03 20:41:49 -07:00
Kevin Atkinson
4616117f17
Bug fix in lookup_byte_offset.
2012-02-03 20:41:49 -07:00
Kevin Atkinson
da74a7f9ca
Make macro arg optional in syntax, again untested.
2012-02-03 20:41:48 -07:00
Kevin Atkinson
5ea04c65c1
Add support for recognizing macro body, completely untested.
2012-02-03 20:41:48 -07:00
Kevin Atkinson
e76fdeb3a6
Change the type for the macro body to also store the span.
...
Note: the body is the part of the macro syntax between the {}.
2012-02-03 20:41:48 -07:00
Kevin Atkinson
099290bc73
When replacing $(...) with $0 preserve spacing for better error messages.
...
That is:
x + $(foo) + y
becomes:
x + $0 + y
not:
x + $0 + y
2012-02-03 20:41:37 -07:00
Kevin Atkinson
c0f9073557
Expand result of quasi-quote.
2012-02-03 20:39:00 -07:00
Kevin Atkinson
67e961c17f
Implement anti-quotes.
2012-02-03 20:38:44 -07:00
Kevin Atkinson
477714f08e
Implement "replace" function.
2012-02-03 20:28:12 -07:00
Kevin Atkinson
485e489ba2
Implement basic quasi-quoter. No anti-quotes yet.
2012-02-03 20:28:11 -07:00
Kevin Atkinson
98450d0dad
Rename AST builders to use uniform naming scheme. Also add a few more.
2012-02-03 20:28:11 -07:00
Kevin Atkinson
5ef53382ae
Add support for parsing quasi-quotes, doesn't do anything useful yet.
2012-02-03 20:23:49 -07:00
Kevin Atkinson
75edd9ff69
Move useful ast building functions into their own module.
2012-02-03 17:48:17 -08:00
Kevin Atkinson
9dcb674525
Add function to get a code snippet from a span,
...
and also to get the byte offset within a string from a span chpos.
2012-02-03 17:48:17 -08:00
Kevin Atkinson
e127bf680f
Fix byte_len in char_len_range to be what it is advertised.
2012-02-03 17:48:16 -08:00
Niko Matsakis
33f4a98388
correct to use enum keyword
2012-02-03 13:58:50 -08:00
Marijn Haverbeke
61367e3c27
Fix prefixing of logging paths with crate name
2012-02-03 22:12:09 +01:00
Brian Anderson
a57c15bf88
rustdoc: Add various sorting passes
2012-02-03 12:00:49 -08:00
Marijn Haverbeke
c976b7c623
Fix tests for str::le patch
2012-02-03 14:32:23 +01:00
Tom Lee
31b0d1b4bd
core: rename str::lteq to str::le
2012-02-03 14:09:44 +01:00
Marijn Haverbeke
633e4502e7
Clean up and update trans::ty_ctxt type definition
...
It had been messed up by the pretty-printer at some point, and was
partially out of date.
2012-02-03 14:09:16 +01:00
Marijn Haverbeke
3bcd4fe6fa
Start on in-crate monomorphizing
...
Adds a --monomorpize flag to rustc to turn it on. You probably don't
want to use it yet, since it's broken in a whole bunch of ways, but it
successfully monomorphizes simple generic functions called from within
the crate.
Issue #1736
2012-02-03 14:07:35 +01:00
Tom Lee
a02f332602
std: rename sort::lteq to sort::le.
2012-02-03 12:02:57 +01:00
Marijn Haverbeke
43ce38375d
Store item paths in ast_map, get rid of trans::local_ctxt
...
The direct motivation for this was that the monomorphizer needs to be
able to generate sane symbols for random items. The typechecker can
probably also use this in the future to provide more useful error
messages.
2012-02-03 11:34:12 +01:00
Marijn Haverbeke
c1b075d042
Remove experimental GC code
...
It's been sitting unused long enough to have bitrotted completely.
2012-02-03 11:34:12 +01:00
Brian Anderson
1ea184285e
rt: Change the win32 event object to an auto-reset event
...
The way I read the docs, having this be a manual reset event means
that after the first time it's signalled it stays that way until reset,
and we never, ever reset it.
2012-02-02 18:30:06 -08:00
Brian Anderson
3b4dd26ff1
rt: Remove lock_and_signal::signal_all
2012-02-02 18:29:03 -08:00
Brian Anderson
9c33f2c561
rt: Remove lock_and_signal::timed_wait
2012-02-02 18:25:49 -08:00
Brian Anderson
cd774fc5fa
rt: Stop waking up the scheduler on a timer
2012-02-02 18:23:01 -08:00
Brian Anderson
b1a090c7c4
rt: Remove unused arguments in rust_scheduler
2012-02-02 18:17:33 -08:00
Brian Anderson
6c632c71c6
rt: Simplify reap_dead_tasks
2012-02-02 18:10:24 -08:00
Brian Anderson
f719ea552b
rt: Remove rust_scheduler::interrupt_flag. Unused
2012-02-02 18:10:24 -08:00
Brian Anderson
aee83d2ff1
rt: Only wake up all schedulers when no tasks are left
...
At the moment there's not really any reason to be raising this signal,
since they schedulers wake up periodically anyway, but once we remove
the timer this will be how the schedulers know to exit.
2012-02-02 18:10:24 -08:00
Brian Anderson
5c3c8d454d
rt: Do all signalling while holding a lock
...
This will matter once the scheduler is changed to not wake up on a timer
2012-02-02 18:10:24 -08:00
Brian Anderson
5449b886d3
rt: Remove bogus task reaping from the scheduler
2012-02-02 18:10:24 -08:00
Brian Anderson
3978fbff8b
rt: Remove rust_task::can_schedule. Does nothing
2012-02-02 18:10:24 -08:00
Brian Anderson
ed3a5ad5ad
rt: Remove running_on flag. Does nothing
2012-02-02 18:10:24 -08:00
Brian Anderson
57cad61353
rt: Remove task pinning. Does nothing
2012-02-02 18:10:24 -08:00
Brian Anderson
18de0f2aeb
rt: Rename task_sleep intrinsic to task_yield. Remove usec param
2012-02-02 18:10:24 -08:00