Graydon Hoare
f3c3fc0353
Change single-ident expr_ident to greedy/fat multi-ident expr_path, to handle the module-path/value-indexing distinction.
2011-01-13 17:42:28 -08:00
Rafael Ávila de Espíndola
359d72b4d0
Change mod_index_entry to point directly to items and view_items.
2011-01-12 12:26:23 -08:00
Graydon Hoare
a8eeec1dbd
Sketch support for reading multi-file crates in rustc. Add test, not yet working.
2011-01-10 18:18:16 -08:00
Rafael Ávila de Espíndola
2fb09eb585
Add sufficient import support to compile some simple single-crate programs.
...
This is likely not the final solution. It does repetitive work and doesn't produce
errors for invalid but unused imports. In any case, I think it is a useful step.
2011-01-07 15:17:18 -08:00
Rafael Ávila de Espíndola
7c8f99fdc1
Add names from imports to the namespace.
2011-01-04 17:58:10 -05:00
Rafael Ávila de Espíndola
e0fe271d34
Add support for looking up a name introduced by a 'use'.
...
With this we go from "error: unresolved name: foo" to
"unimplemented definition variant for: foo" in
use foo;
fn main(vec[str] args) {
foo.bar();
}
2011-01-04 11:35:13 -05:00
Rafael Ávila de Espíndola
5fd3d2ca55
Refactor the view_item code so that it is similar to the code used for
...
parsing regular items.
2011-01-04 11:34:05 -05:00
Rafael Ávila de Espíndola
35c745da03
Rename use_or_import to view_item.
2011-01-04 11:23:56 -05:00
Graydon Hoare
d1517471fb
Split driver between parsing source files and crate files, by extension. Add dummy function for crate files.
2011-01-03 20:41:11 -08:00
Graydon Hoare
019095c9e6
Actually return the correct node from the parser.
2011-01-03 16:18:25 -08:00
Graydon Hoare
2100aceabf
Remove missed debug chatter.
2011-01-03 15:06:19 -08:00
Graydon Hoare
0a2e7f2149
Add restricted-parse mode, and parse bind expressions.
2010-12-31 17:28:43 -08:00
Graydon Hoare
b42f49bf99
Parse local item decls.
2010-12-31 14:33:49 -08:00
Graydon Hoare
53d5b11208
Index tag and obj items in decl stmts.
2010-12-31 14:18:19 -08:00
Graydon Hoare
a9d03dd1a2
Add def id to ast for obj fields.
2010-12-30 15:27:19 -08:00
Rafael Ávila de Espíndola
09ef31caa0
Record the ast of uses and imports.
2010-12-30 11:21:37 -05:00
Rafael Ávila de Espíndola
f900792fa3
Parse 'import' directives in rustc.
2010-12-24 21:06:14 -08:00
Rafael Ávila de Espíndola
8d2fdac93b
Parse 'use' directives in rustc.
2010-12-24 17:03:46 -08:00
Patrick Walton
744b164b7d
rustc: Move type logic out of typeck so trans doesn't look like it's calling into typeck
2010-12-21 16:24:17 -08:00
Patrick Walton
5cbf8889d0
rustc: Add bind expressions to the AST
2010-12-20 18:58:18 -08:00
Graydon Hoare
a3f828f941
Sketch trans_vtbl.
2010-12-16 18:34:04 -08:00
Patrick Walton
0d3400fec2
rustc: Lex '_' as an underscore, not as an identifier
2010-12-15 09:44:48 -08:00
Graydon Hoare
b1e0c60d6d
Add ty_obj to ast and parser.
2010-12-14 17:42:12 -08:00
Graydon Hoare
a7eb1ac90f
Move call_expr parse rule to the place where it needs to be to understand complex calls.
2010-12-14 16:59:13 -08:00
Graydon Hoare
b606ba81cf
Add obj items to AST and parser.
2010-12-14 15:32:13 -08:00
Patrick Walton
38ba0e6917
rustc: Add a definition ID to tag patterns
2010-12-12 16:30:34 -08:00
Patrick Walton
de118d79b6
rustc: Resolve pattern bindings
2010-12-10 18:08:32 -08:00
Patrick Walton
0d43c198f0
rustc: Add def ids to pattern bindings
2010-12-10 17:24:53 -08:00
Graydon Hoare
4e1046a508
Fix another bug in expr_index parse rule.
2010-12-09 17:34:44 -08:00
Graydon Hoare
d5ed5e7044
Fix bug in parse rule for expr_index.
2010-12-09 17:12:08 -08:00
Graydon Hoare
e04c24769e
Add 'unexpected' fn to parser.
2010-12-09 17:11:52 -08:00
Graydon Hoare
8383b1c435
Fix token span tracking in lexer.
2010-12-09 17:11:05 -08:00
Graydon Hoare
876282791e
First sketch of support for const items, not including most of trans.
2010-12-09 14:37:50 -08:00
Graydon Hoare
6ccfba34f3
Add missing case to parse_ty, un-XFAIL cast.rs.
2010-12-08 15:04:57 -08:00
Graydon Hoare
68af077e81
Implement binop= forms. Un-XFAIL bitwise.rs.
2010-12-08 14:50:47 -08:00
Patrick Walton
2e119698b7
rustc: Add def ids to variant arguments so we can turn them into function arguments later
2010-12-03 18:13:15 -08:00
Graydon Hoare
0c19c8e18f
Parse layer and effect annotations.
2010-12-03 18:04:18 -08:00
Graydon Hoare
a98b2ebb4a
Change 'stratum' to the friendlier term 'layer'.
2010-12-03 12:15:32 -08:00
Graydon Hoare
98a63bd1f9
Add code to fail on non-exhaustive alt matching. Fix all cases this picked up in rustc.
2010-12-01 17:09:02 -08:00
Patrick Walton
fd600bad46
rustc: Annotate variants with their types. This may be useful for trans!
2010-12-01 15:27:38 -08:00
Patrick Walton
42282a25c0
rustc: Resolve tag variant names
2010-12-01 10:19:38 -08:00
Graydon Hoare
45043374ff
Tidy up structural types for rec, tup AST and typeck nodes.
2010-11-30 16:32:00 -08:00
Patrick Walton
567a45cc70
rustc: Add def ids to variants
2010-11-30 12:32:20 -08:00
Patrick Walton
6c5a05b819
rustc: Implement the block syntax discussed on the mailing list
2010-11-29 17:11:41 -08:00
Graydon Hoare
e6b7f76385
Add ty_rec and parse it.
2010-11-29 15:42:09 -08:00
Graydon Hoare
3e08171fc2
Change mutability into a type constructor.
2010-11-29 15:29:55 -08:00
Graydon Hoare
386f363cfe
Change from bool to tag ast.mutability.
2010-11-29 14:18:26 -08:00
Graydon Hoare
38846e39c4
Add ast.ty_mutable.
2010-11-29 12:29:57 -08:00
Patrick Walton
78ec07790a
rustc: Assign definition IDs to type params
2010-11-24 18:01:20 -08:00
Patrick Walton
9769b61226
rustc: Parse type-parametric typedefs
2010-11-24 17:36:22 -08:00