Commit graph

340 commits

Author SHA1 Message Date
Graydon Hoare
df3038e68b Parse opacity (and drop on the floor), so std.rc parses now. 2011-03-07 15:38:20 -08:00
Marijn Haverbeke
0624f9db4a Add a pretty-printer
Adds a -pp option to the compiler which will cause it to simply
pretty-print the given file.
2011-03-07 12:58:08 -08:00
Graydon Hoare
90f299e710 Permit view items in native modules. 2011-03-07 11:48:43 -08:00
Graydon Hoare
dfa85968c3 Stage the last compile fix to put out fire. Thanks git. 2011-03-07 10:33:04 -08:00
Graydon Hoare
44bceb84a7 Complain on unexpected native symbol, rather than failing with none-exhaustive match. 2011-03-07 10:02:01 -08:00
Marijn Haverbeke
1ce6cfbe7c use a precedence table for operator parsing 2011-03-07 15:32:11 +01:00
Brian Anderson
d39da6f978 Remove typestate workarounds 2011-03-06 15:13:35 -08:00
Graydon Hoare
d97c800e31 Make ret and fail stmts have 0 out-edges, Closes #250. 2011-03-05 20:05:02 +00:00
Graydon Hoare
596face274 Parse (and generally ignore) constraints and constrained types. 2011-03-04 14:19:48 -08:00
Graydon Hoare
02dff96b52 Parse meta directives in crates. 2011-03-04 11:28:40 -08:00
Brian Anderson
5876da00cf Remove some erroneous FIXMEs from #fmt parser 2011-03-02 22:05:19 -05:00
Graydon Hoare
fc722b17c9 Comment-out some logging chatter in extfmt. 2011-03-02 13:53:08 -08:00
Graydon Hoare
9e4943c922 Parse, add to AST, and otherwise ignore 'export' view items. Need to add support to resolve. 2011-03-02 13:50:42 -08:00
Brian Anderson
012c2d18d0 Finish #fmt string parsing. Completely untested. 2011-03-02 10:28:15 -08:00
Brian Anderson
4bc9052e13 Add debug logging for #fmt conv. Implement peek_num fn 2011-03-02 10:28:15 -08:00
Brian Anderson
77a0dc06a7 Whitespace cleanup 2011-03-02 10:28:15 -08:00
Brian Anderson
dbd90996ee Remove unused is_ext_expr 2011-03-02 10:28:15 -08:00
Brian Anderson
c1e6f5328c Make the expanded expression in expr_ext not optional 2011-03-02 10:28:15 -08:00
Brian Anderson
7cef1b3a0f Add pretty printing for expr_call, expr_path, and more literals 2011-03-02 10:28:14 -08:00
Brian Anderson
41a043303a Remove debug logging from extfmt 2011-03-02 10:28:14 -08:00
Brian Anderson
61edf544a2 Implement #fmt conversion for int and uint 2011-03-02 10:28:14 -08:00
Brian Anderson
f9144d5972 Start generating AST nodes for #fmt 2011-03-02 10:28:14 -08:00
Brian Anderson
1badf9316a Begin an AST pretty-printer 2011-03-02 10:28:14 -08:00
Brian Anderson
5e06ec977f Rewrite expand_syntax_ext to avoid a mysterious memory leak 2011-03-02 10:28:14 -08:00
Brian Anderson
fe5de6bfff Parse parameter types for fmt extension 2011-03-02 10:28:14 -08:00
Brian Anderson
1c60399257 Begin work on #fmt parsing 2011-03-02 10:28:14 -08:00
Brian Anderson
9528c34774 Begin implementing #fmt in rustc 2011-03-02 10:28:14 -08:00
Graydon Hoare
64ab5eaaf0 Parse (and ignore) dtors on objs. 2011-03-01 17:33:17 -08:00
Graydon Hoare
7cae0c8c4d Implement the gross rustboot hack for contextual parser access to the compilation environment. 2011-03-01 16:50:32 -08:00
Graydon Hoare
348c77c31b Populate default compilation environment as in rustboot. 2011-03-01 15:57:55 -08:00
Graydon Hoare
7a6ac1c000 Fix typo in crate directive evaluator. 2011-02-25 15:43:50 -08:00
Rafael Ávila de Espíndola
081c3aa76d Pass the abi of native functions all the way to codegen. 2011-02-25 15:58:08 -05:00
Rafael Ávila de Espíndola
f8f6f078c5 There are no native iterators (or at least they are not going to be supported
soon.).
2011-02-25 12:08:21 -05:00
Graydon Hoare
88f0463c2b Support the awful alt-else form in rustboot's cexp grammar, at least transiently. Remove in the future. 2011-02-24 17:17:39 -08:00
Graydon Hoare
dbf53b4c37 Connect the crate and source parsers together. 2011-02-24 17:00:24 -08:00
Graydon Hoare
9acf4b9127 Handle the mutant 'let'-block directive in rustboot, temporarily. 2011-02-24 16:42:04 -08:00
Graydon Hoare
b2a09562a6 Factor crate expr evaluator out of parser, expand to simple scalars and ops, if, alt. 2011-02-24 15:55:10 -08:00
Graydon Hoare
127139aecd Parse crate directive tree in one pass, then evaluate it in a second. 2011-02-24 12:14:05 -08:00
Graydon Hoare
381684043f Add a type for crate directives, to support intermixing with exprs in crate files. 2011-02-23 14:37:39 -08:00
Graydon Hoare
c6bc5cce4b Parse auth clauses, drop them on the floor. Nothing exists to use them yet anyways. 2011-02-23 13:28:46 -08:00
Rafael Ávila de Espíndola
5f6110a4db Use the computed abi :-( 2011-02-23 14:10:02 -05:00
Rafael Ávila de Espíndola
ffcb461370 Parse the abi in native modules. 2011-02-23 14:06:37 -05:00
Brian Anderson
eac75b7648 Teach rustc about reserved keywords 2011-02-22 21:52:23 -05:00
Brian Anderson
c4df39609c Rename std._io to std.io since 'io' is no longer a keyword 2011-02-22 21:52:23 -05:00
Graydon Hoare
34c60b6edb Make a tag for iterness / fnness, teach many places about it. 2011-02-18 17:30:57 -08:00
Rafael Avila de Espindola
012fa69ea5 More typechecking for native types and the needed plumbing in codegen. 2011-02-16 14:02:02 -05:00
Graydon Hoare
9ae89bd404 Add _mutable unop. 2011-02-15 12:20:30 -08:00
Graydon Hoare
2bba49a9fe Fix missing path in expr_ext. 2011-02-15 12:20:13 -08:00
Graydon Hoare
4a72a23171 Add basic front-end support for 'for each' loops. 2011-02-14 18:17:31 -08:00
Graydon Hoare
15a01f5c36 Add basic front-end support for expr_put. 2011-02-14 17:58:32 -08:00
Graydon Hoare
f1f33abdeb Move all non-decl/non-expr stmts to exprs. 2011-02-14 17:46:28 -08:00
Graydon Hoare
88cb966363 Adjust commented-out diagnostic log statement in parser.rs. 2011-02-14 16:35:08 -08:00
Graydon Hoare
890d027b65 Add parse support for expr_ext. 2011-02-14 16:33:25 -08:00
Graydon Hoare
59bce06a96 Expand expr_rec to take its optional trailing 'with' parameter. 2011-02-14 15:52:38 -08:00
Graydon Hoare
c89460bb65 Support indexing pat_lit. 2011-02-10 19:04:37 -08:00
Graydon Hoare
a396652766 Add pat_lit to ast, and support parsing it. 2011-02-10 18:59:23 -08:00
Graydon Hoare
b59d98ccb9 Parse effects and layers in a couple contexts; drop on floor as we have nowhere to put them yet. 2011-02-10 18:58:58 -08:00
Brian Anderson
f17a3421e0 Cleanup for 'be' statement and comments about future typestate 2011-02-10 12:12:10 -08:00
Brian Anderson
378c0087ca Parse 'be' statement. Pass tailcall tests. No actual tailcalls yet. 2011-02-10 12:12:10 -08:00
Rafael Avila de Espindola
3e613c1648 Add native modules to resolve. With this hello world gets to typecheck. 2011-02-07 15:07:27 -05:00
Rafael Avila de Espindola
8122e0c542 Add support for
native mod foo = "bar" ...
2011-02-07 12:50:04 -05:00
Rafael Ávila de Espíndola
57bb9d809b Parse function declarations. 2011-02-04 11:10:04 -05:00
Rafael Ávila de Espíndola
302cafa81d Factor the parsing of "type foo" into parse_type_decl. 2011-02-04 09:46:10 -05:00
Rafael Ávila de Espíndola
dd3ed6139a Add most of the plumbing for native items and add support for parsing native type declarations. 2011-02-02 10:43:57 -05:00
Rafael Ávila de Espíndola
4b06dc574b Add very minimal support for native modules. For now they must be empty. 2011-02-01 16:57:33 -08:00
Graydon Hoare
70bf54bcac Implement 'else if' 2011-02-01 16:23:48 -08:00
Graydon Hoare
8ef22972db Add ty_type. 2011-02-01 14:56:21 -08:00
Brian Anderson
3fedb18c0a Allow the else part of an expr_if to be either expr_if or expr_block 2011-02-01 00:08:47 -05:00
Brian Anderson
214c32393a Teach rustc to parse 'else if' 2011-01-30 14:15:22 -05:00
Brian Anderson
6b7cab3602 Teach rustc to fail 2011-01-28 11:12:57 -08:00
Rafael Ávila de Espíndola
3cac20dae3 Correctly handle "import foo = bar.zed;". 2011-01-28 11:54:59 -05:00
Rafael Ávila de Espíndola
5066937f10 First step for supporting "case (foo.bar(?zed))": Change the ast of
pat_tag to hold a path.
2011-01-27 15:27:56 -05:00
Graydon Hoare
0e1e3a9e1e Do better at parsing expr_paths with type arguments. 2011-01-24 15:49:39 -08:00
Graydon Hoare
2d7c2acf09 Switch from booleans to symbolic tags in a few places. 2011-01-24 15:26:10 -08:00
Graydon Hoare
65da18faf8 Teach parser to recognize ITER keyword as item-start. 2011-01-24 15:25:30 -08:00
Graydon Hoare
546d144009 Teach AST, parser, folder about iter items. 2011-01-21 17:06:20 -08:00
Graydon Hoare
a8af013077 Adjust AST encoding, teach fold about linear for loops. 2011-01-20 15:02:12 -08:00
Rafael Ávila de Espíndola
7fdb6437d8 typo 2011-01-20 16:20:45 -05:00
Graydon Hoare
33b342e891 Teach ast and parser about linear for expressions. 2011-01-20 13:11:47 -08:00
Rafael Ávila de Espíndola
41b7d6d74d One last refactoring of the import handling:
* Create an import resolving stage. Currently this involves a copy of the ast,
  we can probably revisit this once we revisit doing full copies of the ast in
  general.

* Don't repeat work. Once we resolve a import, put it on a hash table and use
  it next time we are asked for it. This solves a O(n^2) behaviour in
  degenerated cases.

* Once import resolution is done, the target of an import is stored on the
  import itself.
2011-01-18 15:43:13 -08:00
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
Patrick Walton
98e8c2ef21 rustc: Parse type-parametric tags 2010-11-24 17:17:42 -08:00
Patrick Walton
c1916adc7e rustc: Parse type-parametric functions 2010-11-24 16:52:49 -08:00
Patrick Walton
80d099c59a rustc: Don't require a semicolon after an "alt" statement 2010-11-24 16:29:44 -08:00
Patrick Walton
f075b10af2 rustc: Add patterns to fold 2010-11-24 15:45:59 -08:00
Patrick Walton
756880a5f5 rustc: Parse simple patterns 2010-11-24 14:42:01 -08:00
Patrick Walton
5d72dae1d1 rustc: Parse tag items. Currently segfaults in copy glue. 2010-11-24 11:36:35 -08:00
Graydon Hoare
e05d7c3ac1 Support mach types in rustc, enable 5 more tests. 2010-11-22 17:41:32 -08:00
Graydon Hoare
fdac6ffa7c Accumulate type paths as we parse, rather than throwing them away. 2010-11-22 13:24:53 -08:00
Patrick Walton
0847ff7d42 rustc: "expectied" -> "expected" in parser.rs; also say what was found 2010-11-22 11:43:25 -08:00
Graydon Hoare
ccc21fd4da Fix lexer bug, enable 5 more tests on rustc. 2010-11-22 11:35:00 -08:00
Patrick Walton
c00bda539d rustc: First stab at a typechecker 2010-11-19 17:50:45 -08:00
Graydon Hoare
3352fab59b Parse type items, nil types, named types. Fix some parser bugs. Enable arith-0 and arith-2 tests. 2010-11-19 16:34:47 -08:00
Graydon Hoare
44a0c7225d Isolate while-header bug to minimal testcase, fix in rustboot, remove workaround in rustc. 2010-11-19 14:59:58 -08:00
Graydon Hoare
e94af48bc9 Work around Yet Another Typestate Lifecycle Bug in rustboot. 2010-11-19 10:41:32 -08:00
Patrick Walton
e02ffb2c2d rustc: Add a type annotation for locals 2010-11-12 16:11:33 -08:00
Patrick Walton
c3bc88a325 rustc: Add an annotation to function and type items so that the typechecker can store types with them 2010-11-10 18:20:02 -08:00
Patrick Walton
35eb088ae3 rustc: Implement function types 2010-11-05 15:23:03 -07:00
Patrick Walton
adb1754e4d Move the option type to its own module 2010-11-05 11:18:40 -07:00
Patrick Walton
2fcf81cc4b Revert "Move the option type to its own module" 2010-11-05 10:41:23 -07:00
Patrick Walton
1d214b4df3 Move the option type to its own module 2010-11-05 10:23:22 -07:00
Graydon Hoare
16faef2218 Fix buggy while and do-while translation in rustc. Add test. 2010-11-04 07:55:33 -07:00
Patrick Walton
a3d666bfdf rustc: Use an extensible annotation field instead of putting option[@ty] everywhere 2010-11-03 15:54:46 -07:00
Graydon Hoare
e5fdd7b63a Support while and do-while loops in rustc. 2010-11-03 11:05:15 -07:00
Graydon Hoare
dc299c9a19 Teach rustc lexer about changes to stratum, opacity and effect keywords. 2010-11-03 10:29:48 -07:00
Graydon Hoare
da13c508d8 First pass on splitting stratum and opacity off of effects. WIP. 2010-11-02 11:11:58 -07:00
Graydon Hoare
d4497e481e Extremely broken hacked-up incorrect attempt at 'ret'. 2010-10-22 19:23:10 -07:00
Graydon Hoare
6d47d2abde Implement check-exprs, un-xfail 5 rustc tests. 2010-10-22 15:37:42 -07:00
Graydon Hoare
3aaae2a881 Teach rustc to parse call exprs. 2010-10-21 16:42:02 -07:00
Graydon Hoare
71b1f1d117 Parse and translate assignments. 2010-10-19 16:33:11 -07:00
Graydon Hoare
b8cca0971f Teach trans to allocate, initialize and load from local variables. 2010-10-19 14:54:10 -07:00
Patrick Walton
10d628dbd0 Add a type slot to the AST 2010-10-19 13:28:43 -07:00
Patrick Walton
e497fe981b Partial work on adding types to the AST 2010-10-19 13:10:39 -07:00
Graydon Hoare
4a3edb320d Store items and decls in vecs to preserve input order, index externally. Implement block-local name lookup. 2010-10-18 18:19:16 -07:00
Graydon Hoare
865bbae685 More work on resolving names in rustc. Basic expr_name lookup working on items and args. 2010-10-18 16:15:25 -07:00
Patrick Walton
1c3e95e0a5 Roll back the expr->lval change. We're now LL(1) again. 2010-10-18 11:31:31 -07:00
Graydon Hoare
57c7e94c8f Encode and decode tag types in dwarf properly. Add list module to std. Shift rustc to use std.util.option. Fix various dependent bugs. Closes #73. 2010-10-15 22:09:09 -07:00
Graydon Hoare
fc2d4828e7 Finish the fold drivers in fold.rs. 2010-10-14 18:14:09 -07:00
Patrick Walton
5826a2e3de rustc: Parse field and vector indexing expressions 2010-10-14 17:42:06 -07:00
Patrick Walton
699ef987d7 rustc: Start work on lvals 2010-10-14 15:20:27 -07:00
Patrick Walton
5c622b6ecb rustc: Lex identifiers that have numbers in them too 2010-10-13 11:02:56 -07:00
Patrick Walton
d50d481529 rustc: Parse vector types 2010-10-13 10:55:20 -07:00
Patrick Walton
81a43ef698 rustc: Add mutability to tuple literals 2010-10-12 16:30:44 -07:00
Patrick Walton
b1ca4da3b3 rustc: Parse box types 2010-10-12 14:54:49 -07:00
Patrick Walton
a41aa5595b rustc: Parse tuple types 2010-10-12 14:15:59 -07:00
Patrick Walton
0415841504 rustc: Add the tuple type to the AST 2010-10-11 18:42:10 -07:00
Patrick Walton
c9afe78c0c Parse autos 2010-10-11 18:20:25 -07:00
Patrick Walton
8a7a0308e3 rustc: Parse lets 2010-10-11 18:13:14 -07:00
Patrick Walton
a2c9879442 rustc: Say "expected expression" instead of "expected literal" when we expect an expression 2010-10-11 17:21:36 -07:00
Patrick Walton
e3758fe321 rustc: Make functions output a type, not a slot 2010-10-08 12:26:34 -07:00
Graydon Hoare
fa5ef4cfb6 Add the beginnings of an ast folder plus an empty module for resolve. 2010-10-06 18:36:28 -07:00
Graydon Hoare
5f2d35ed08 Make ast node box uses more uniform in rustc. 2010-10-06 15:41:14 -07:00
Graydon Hoare
d1e59d6910 Add input coordinate tracking to all major rustc ast nodes. 2010-10-05 18:21:44 -07:00
Graydon Hoare
19d0fa107a Improve name nodes to ast, teach to parse qualified names, put out flaming tinderbox. 2010-10-04 17:25:52 -07:00
Graydon Hoare
44e4b2d63a Teach rustc about phi nodes, block relationships. Translate if- and block-expressions. 2010-10-04 15:55:12 -07:00
Graydon Hoare
b970563fe3 Patchwork of attempted fixes to effect system and gc system; eventually give up and disable it entirely in the runtime. Will need extensive reworking. 2010-09-29 17:22:13 -07:00
Graydon Hoare
5a4cb3ef36 Translate a modest selection of easy binops. 2010-09-28 14:01:21 -07:00
Graydon Hoare
11e72fd4e0 Translate literal int, char, bool and str types, as well as logging them. 2010-09-28 12:23:40 -07:00
Graydon Hoare
fbea4d04b7 More rustc expr-parsing logic. 2010-09-28 10:30:34 -07:00
Graydon Hoare
5b4b035c7a Start building up the expression tower. 2010-09-27 18:25:02 -07:00
Graydon Hoare
46e46d0b49 Translate a bunch of the material (lltrans, llasm, abi) from rustboot to rustc, and move files around. 2010-09-23 15:46:31 -07:00