Commit Graph

298 Commits

Author SHA1 Message Date
Graydon Hoare
172bf3a038 Back out recognition of caret for unsafe ptr. Decided to abandon #2826 mid way through. 2012-07-09 18:42:06 -07:00
Paul Stansifer
b1af6ac6f1 Make the matcher parser treat () in a matchy way, like one would expect. 2012-07-09 17:44:46 -07:00
Paul Stansifer
55e28f6689 Remove the tt macro demo. 2012-07-09 17:44:46 -07:00
Paul Stansifer
54741b9427 Allow defining token tree macros. They should work now! 2012-07-09 17:44:46 -07:00
Paul Stansifer
caa83b41bb Add support for matchers nonterminals. 2012-07-09 17:44:46 -07:00
Patrick Walton
7d90edcb3b rustc: Switch over to resolve3 2012-07-09 17:44:16 -07:00
Patrick Walton
ad673daa6c Revert "rustc: Switch over to resolve3" due to Linux failures
This reverts commit 2c0aa257e2.
2012-07-09 16:50:19 -07:00
Patrick Walton
2c0aa257e2 rustc: Switch over to resolve3 2012-07-09 16:29:25 -07:00
Graydon Hoare
638036fe55 Remove 'cont' from parser/lexer. 2012-07-09 14:47:45 -07:00
Graydon Hoare
c26d02557e Switch 'cont' to 'again' everywhere. Close #2229. 2012-07-09 14:37:48 -07:00
Patrick Walton
4d8113725d rustc: Add some changes I missed 2012-07-09 11:05:48 -07:00
Patrick Walton
e41029d236 rustc: Switch to the new resolution pass 2012-07-09 10:27:13 -07:00
Niko Matsakis
a856bccdc6 Revert "rustc: Switch to the new resolution pass"
This reverts commit c4af6e92fb.

Branch was burning...many, many unresolved imports.
2012-07-06 20:45:06 -07:00
Patrick Walton
c4af6e92fb rustc: Switch to the new resolution pass 2012-07-06 19:07:26 -07:00
Graydon Hoare
6b8ebc12db First step on #2826, accept ^ for ty_ptr. 2012-07-06 16:03:51 -07:00
Graydon Hoare
ceac155211 For #2229, recognize 'again' in place of 'cont', final change pending snapshot. 2012-07-06 15:46:39 -07:00
Eric Holk
fa4134611d Fixing an infinite type, updating code to match new Early parser, remembering to add protocol parser. 2012-07-06 10:42:40 -07:00
Eric Holk
d09bcc0131 Adding token tree nonterminals to earley parser. 2012-07-06 10:42:40 -07:00
Eric Holk
05cdda3a2c Plumbing and parsing for item-position macros. 2012-07-06 10:42:40 -07:00
Paul Stansifer
a8112f3b34 Allow soft failure of the macro parser. 2012-07-05 18:09:31 -07:00
Paul Stansifer
7f9b1fbe35 Add new syntax for interpolation and repetition, and allow the transcription of separators. 2012-07-05 18:09:31 -07:00
Paul Stansifer
62db5706e6 Start letting the parser catch interpolated ASTs. 2012-07-05 18:09:31 -07:00
Paul Stansifer
f940653720 Update the new macro demo. 2012-07-05 18:09:31 -07:00
Paul Stansifer
0c6fe6470e Macro By Example transcription of token trees with interpolations and dotdotdots. 2012-07-05 18:09:31 -07:00
Paul Stansifer
534270551e Move earley_parser.rs to a more appropriate place 2012-07-05 18:09:31 -07:00
Paul Stansifer
39590d81f0 Some rearranging in perparation for MBE-style TT transcription. 2012-07-05 18:09:31 -07:00
Tim Chevalier
663b3fc89c Uncomment destructor in parser now that dtors work
Although this one is just a hack to make a class non-copyable.
(Do we want syntax for that instead?)
2012-07-05 16:11:51 -07:00
Tim Chevalier
889be71cb4 Comments only: change TODOs to FIXMEs and annotate them 2012-07-05 16:10:29 -07:00
Tim Chevalier
50d2e7e07e Mostly change TODOs to FIXMEs and annotate them
But, one change in io to implement a TODO suggestion (using a
const u8)
2012-07-05 15:06:33 -07:00
Lindsey Kuper
33334f3c43 Change 'iface' to 'trait' internally; parse trait as iface synonym 2012-07-05 11:01:43 -07:00
Gareth Daniel Smith
be0141666d convert doc-attributes to doc-comments using ./src/etc/sugarise-doc-comments.py (and manually tweaking) - for issue #2498 2012-07-04 19:18:13 -07:00
Brian Anderson
ae6ea068a1 Revert "Remove rule requiring non-nil block-style statements to be semi-terminated"
This reverts commit 0f5eaef5fb.
2012-07-03 17:30:25 -07:00
Brian Anderson
0f5eaef5fb Remove rule requiring non-nil block-style statements to be semi-terminated
This is a subtle rule that no longer seems to be required.
2012-07-03 17:03:52 -07:00
Graydon Hoare
3f59a4bc64 More work on #2082, remove parser/lexer support for 'crust' and 'native'. 2012-07-03 16:49:46 -07:00
Michael Sullivan
c854d6ebdb Remove some bogus exports. 2012-07-03 10:52:32 -07:00
Patrick Walton
f093d374ed rustc: Implement a new resolve pass behind a compile flag 2012-07-02 18:30:12 -07:00
Brian Anderson
569467eb0d Merge remote-tracking branch 'Dretch/prettydocs'
Conflicts:
	src/compiletest/errors.rs
	src/libsyntax/parse/attr.rs
	src/libsyntax/parse/comments.rs
	src/test/compile-fail/ambig_impl_unify.rs
	src/test/compile-fail/assign-super.rs
	src/test/compile-fail/bad-for-loop.rs
	src/test/compile-fail/bad-var-env-capture-in-block-arg.rs
	src/test/compile-fail/block-arg-as-stmt-with-value.rs
	src/test/compile-fail/borrowck-assign-comp-idx.rs
	src/test/compile-fail/borrowck-lend-flow.rs
	src/test/compile-fail/borrowck-loan-blocks-move-cc.rs
	src/test/compile-fail/borrowck-loan-blocks-mut-uniq.rs
	src/test/compile-fail/borrowck-loan-rcvr.rs
	src/test/compile-fail/borrowck-loan-vec-content.rs
	src/test/compile-fail/borrowck-mut-vec-as-imm-slice-bad.rs
	src/test/compile-fail/cap-clause-with-stack-closure.rs
	src/test/compile-fail/do1.rs
	src/test/compile-fail/do2.rs
	src/test/compile-fail/empty-vec-trailing-comma.rs
	src/test/compile-fail/evec-subtyping.rs
	src/test/compile-fail/issue-1896.rs
	src/test/compile-fail/issue-2149.rs
	src/test/compile-fail/issue-2150.rs
	src/test/compile-fail/issue-2487-b.rs
	src/test/compile-fail/kindck-implicit-close-over-mut-var.rs
	src/test/compile-fail/liveness-issue-2163.rs
	src/test/compile-fail/liveness-use-in-index-lvalue.rs
	src/test/compile-fail/no-reuse-move-arc.rs
	src/test/compile-fail/no-send-res-ports.rs
	src/test/compile-fail/non-const.rs
	src/test/compile-fail/pure-higher-order.rs
	src/test/compile-fail/pure-loop-body.rs
	src/test/compile-fail/regions-addr-of-upvar-self.rs
	src/test/compile-fail/regions-escape-loop-via-vec.rs
	src/test/compile-fail/regions-scoping.rs
	src/test/compile-fail/seq-args.rs
	src/test/compile-fail/tstate-unsat-in-called-fn-expr.rs
	src/test/compile-fail/tstate-unsat-in-fn-expr.rs
	src/test/compile-fail/vec-add.rs
	src/test/compile-fail/vec-concat-bug.rs
	src/test/compile-fail/vector-no-ann.rs
2012-07-02 15:23:41 -07:00
Brian Anderson
9743757113 syntax: Support dropping argument list from for/do 2012-07-01 22:36:24 -07:00
Brian Anderson
494264711d syntax: Stop parsing old closure syntax 2012-07-01 19:19:36 -07:00
Brian Anderson
d1fc2b5995 Convert to new closure syntax 2012-07-01 19:19:32 -07:00
Brian Anderson
3155d170ad syntax: Fix lambda parsing following 'ret' 2012-06-30 21:20:36 -07:00
Brian Anderson
ed834f0629 syntax: Add support for new lambda syntax 2012-06-30 16:01:52 -07:00
Brian Anderson
0293a31b68 Remove old sugared call syntax 2012-06-30 16:01:52 -07:00
Brian Anderson
a3382b6f26 Eliminate usages of old sugared call syntax 2012-06-30 16:01:49 -07:00
Gareth Daniel Smith
0b653ab953 initial draft of fix for issue #2498:
1. make /// ... and //! ... and /** ... */ and /*! ... */ into sugar for #[doc = ...] attributes.
2. add a script in etc/ to help converting doc-attributes to doc-comments
3. add some functions to core::str to help with (1)
2012-06-30 11:54:54 +01:00
Michael Sullivan
98e161f00e Switch the compiler over to using ~[] notation instead of []/~. Closes #2759. 2012-06-29 17:41:45 -07:00
Michael Sullivan
810677efb5 Parse ~[...] as [...]/~. Same for @ and &. Closes #2747. 2012-06-28 17:10:06 -07:00
Eric Holk
ae06546bbf Replace more vector + (issue #2719) 2012-06-27 23:09:51 -07:00
Graydon Hoare
d3c6119a7a More keyword paring and migration in runtime, docs, code modes. 2012-06-27 13:30:49 -07:00
Graydon Hoare
697f1e38d6 Change 'native' and 'crust' to 'extern'.
This comes with a terminology change. All linkage-symbols are 'extern'
now, including rust syms in other crates. Some extern ABIs are
merely "foreign". The term "native" is retired, not clear/useful.

What was "crust" is now "extern" applied to a _definition_. This
is a bit of an overloading, but should be unambiguous: it means
that the definition should be made available to some non-rust ABI.
2012-06-26 16:18:37 -07:00
Eric Holk
b9d3ad0736 Getting rid of lots more vector +=. (issue #2719) 2012-06-26 00:39:18 -07:00
Michael Sullivan
329eca6044 Make vectors uglier ([]/~). Sorry. Should be temporary. Closes #2725. 2012-06-25 20:00:46 -07:00
Paul Stansifer
4df2654f82 Make it possible to make built-in tt syntax extensions 2012-06-25 18:01:37 -07:00
Paul Stansifer
4f104954a6 parsing for the macro system 2012-06-25 18:01:37 -07:00
Tim Chevalier
da470ff5b8 Merge 2012-06-25 13:29:41 -07:00
Brian Anderson
c01f5ef034 Long lines 2012-06-24 17:46:12 -07:00
Brian Anderson
20b5ca3d2f syntax: Merge parse_for_expr, parse_do_expr 2012-06-24 17:08:05 -07:00
Tim Chevalier
487cbf8e90 Remove resources
Also fixed shapes for classes with dtors, as well as handling
offsets for classes with dtors correctly in take glue.

Closes #2485
2012-06-24 15:09:57 -07:00
Graydon Hoare
f60cdf27e7 Remove 'implements' keyword in favour of :, part of #2301. 2012-06-22 18:57:20 -07:00
Graydon Hoare
312faf31df Tag all remaining FIXMEs with bugs. Install rule in tidy script to enforce this. 2012-06-21 16:44:10 -07:00
Eric Holk
f21fbc23d2 Fixed another performance issue 2012-06-21 16:11:11 -07:00
Eric Holk
0e5cfd9f33 Move vector addition out of trans and into libcore. 2012-06-21 16:11:11 -07:00
Niko Matsakis
287f163136 Issue #2657: track mutability of bindings, also prevent move from bindings 2012-06-21 09:45:01 -07:00
Brian Anderson
4dcf84e4f4 Remove bind. Issue #2189 2012-06-20 17:27:28 -07:00
Brian Anderson
1ec5a5c635 Add 'do' expressions 2012-06-18 17:42:30 -07:00
Paul Stansifer
047e3c45b3 Lexers now emit spans, not chposes. 2012-06-15 12:41:41 -07:00
Paul Stansifer
d6522ab2d3 Beginning of support for interpolation into token trees. 2012-06-15 12:41:41 -07:00
Paul Stansifer
d906fba636 Make token tree lexers and their stacks unique. 2012-06-15 12:41:41 -07:00
Paul Stansifer
d03c04b6ea Make tt lexers duplicatible. 2012-06-15 12:41:41 -07:00
Paul Stansifer
2f8be7dcbb Bugfix: obey the tt_lexer's own invariants. 2012-06-15 12:41:41 -07:00
Paul Stansifer
85ded92736 Make it possible to make tt_reader-based parsers. 2012-06-15 12:41:41 -07:00
Paul Stansifer
d619e8995f Make token trees re-lexable. 2012-06-15 12:41:41 -07:00
Paul Stansifer
1d25981c73 Formatting fixup in parser.rs 2012-06-15 12:41:41 -07:00
Paul Stansifer
32167f52b0 Pull out an interface for the lexer. 2012-06-15 12:41:41 -07:00
Paul Stansifer
473b1ec0a0 Make token trees parseable. 2012-06-15 12:41:41 -07:00
Lindsey Kuper
77e6573929 Further work on integer literal suffix inference (#1425)
In this commit:

  * Change the lit_int_unsuffixed AST node to not carry a type, since
    it doesn't need one

  * Don't print "(unsuffixed)" when pretty-printing unsuffixed integer
    literals

  * Just print "I" instead of "(integral)" for integral type variables

  * Set up trans to use the information that will be gathered during
    typeck to construct the appropriate constants for unsuffixed int
    literals

  * Add logic for handling int_ty_sets in typeck::infer

  * Clean up unnecessary code in typeck::infer

  * Add missing mk_ functions to middle::ty

  * Add ty_var_integral to a few of the type utility functions it was
    missing from in middle::ty
2012-06-14 20:24:36 -07:00
Tim Chevalier
39d9c30a15 Remove code from parser that was awaiting snapshot
Remove old parser functions as well as support for old-style capture
clauses. Remove remaining old-style capture clauses.
2012-06-14 19:09:02 -07:00
Lindsey Kuper
cce7327487 Allow trailing commas in import lists. Closes #2582. 2012-06-13 11:53:35 -07:00
Brian Anderson
ce750a7dbc Box AST idents 2012-06-13 11:30:45 -07:00
Lindsey Kuper
8a730a255d Allow trailing comma in vectors. Closes #2482. 2012-06-12 13:03:30 -07:00
Lindsey Kuper
bffb7db8ae syntax: clarify that trailing separators are never required 2012-06-12 11:18:31 -07:00
Lindsey Kuper
b75199634a syntax: minor cleanups; making things more idiomatic 2012-06-11 16:49:35 -07:00
Lindsey Kuper
8467279fac Add a new AST node for unsuffixed integer types. 2012-06-11 16:34:56 -07:00
Brian Anderson
21087bf1a5 syntax: Intern @strs instead of strs 2012-06-09 00:53:34 -07:00
Patrick Walton
436b77c9f8 Revert "syntax: Remove a couple of implicit copies" due to test failures
This reverts commit 46b12d3e05.
2012-06-08 19:15:17 -07:00
Patrick Walton
46b12d3e05 syntax: Remove a couple of implicit copies 2012-06-08 17:56:17 -07:00
Patrick Walton
c7c37debe4 syntax: Use a ring buffer instead of a dvec and save a bunch of copies. Shaves a second or two off rustc. 2012-06-08 17:17:31 -07:00
Patrick Walton
fd85239119 syntax: Remove several deep copies that were happening due to misuse of parse_seq 2012-06-07 22:09:27 -07:00
Patrick Walton
26faa37305 syntax: Add a lot of copy keywords 2012-06-07 21:53:47 -07:00
Niko Matsakis
9c1910a66d workaround LLVM bug #13042 2012-06-06 18:42:11 -07:00
Niko Matsakis
45680c83ab borrowck changes: some copies, some removed mut annotations, some dvec 2012-06-06 18:37:04 -07:00
Niko Matsakis
bede54b14a misc. copies in core/syntax to please borrowck 2012-06-06 18:36:15 -07:00
Patrick Walton
ae6d8d1b4d rustc: Implement optional fat-arrow syntax for alt (transitional change) 2012-06-04 18:35:14 -07:00
Patrick Walton
3aaef3b9c7 Remove cyclic import * that resolve probably shouldn't have accepted 2012-06-04 13:40:08 -07:00
Graydon Hoare
57f399bd63 Implement 2 kinds of char / str escaping. Use in rustc. Close #2306. 2012-05-31 15:32:29 -07:00
Lindsey Kuper
f394933641 Allow optional comma before with in FRU. Closes #2463. 2012-05-31 12:20:26 -07:00
Lindsey Kuper
abef5f54c9 syntax: get rid of redundant case 2012-05-31 12:20:25 -07:00
Kevin Cantu
7dcbaedd32 Rename librustsyntax to libsyntax
Per issue #2418.
2012-05-31 11:15:00 -07:00