Graydon Hoare
|
cdcab742a7
|
Fix fold bug on expr_unary.
|
2010-12-02 15:54:45 -08:00 |
|
Graydon Hoare
|
b79de6b76c
|
Typecheck the box and deref unops properly.
|
2010-12-02 14:38:32 -08:00 |
|
Patrick Walton
|
376b35e618
|
rustc: Remove the overly complex variant_indices and n_ary_variant_indices tables
|
2010-12-02 11:00:10 -08:00 |
|
Patrick Walton
|
eeecc8d061
|
rustc: Add stub support for tag constructors in trans
|
2010-12-01 19:03:47 -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
|
cd97b9d965
|
rustc: Typecheck tag constructors
|
2010-12-01 11:39:03 -08:00 |
|
Patrick Walton
|
67a616340d
|
rustc: Fix segfault due to nonexhaustive match when using tags
|
2010-12-01 10:53:40 -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 |
|
Graydon Hoare
|
25b973df1b
|
Finish support for typechecking and translating records. Un-XFAIL rec.rs.
|
2010-11-30 10:39:35 -08:00 |
|
Graydon Hoare
|
9c426521ee
|
Wrap long lines.
|
2010-11-29 17:53:35 -08:00 |
|
Graydon Hoare
|
a94046f5d2
|
Teach typechecker about record types.
|
2010-11-29 17:42:53 -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
|
6c4e975099
|
Teach fold about ty_rec.
|
2010-11-29 16:09:46 -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 |
|
Graydon Hoare
|
20b11c832c
|
Add mut field to typeck.ty.
|
2010-11-29 12:13:38 -08:00 |
|
Graydon Hoare
|
7be7c23b6b
|
Copy args to allocas, change llargs lookups to 'in mem'. Un-XFAIL tup.rs.
|
2010-11-26 17:47:27 -08:00 |
|
Graydon Hoare
|
d7ce2425c9
|
Load structural values through pointer before passing structs as args.
|
2010-11-26 16:08:10 -08:00 |
|
Graydon Hoare
|
9f56b0061c
|
Pass exprs by @, always treat structural types by pointer, move path and name into trans_lval.
|
2010-11-26 15:54:04 -08:00 |
|
Graydon Hoare
|
1600974a3a
|
Avoid segfault due to fallthrough in base case of incr_all_refcounts. We could use a typestate checker in rustc, any time now.
|
2010-11-26 13:03:56 -08:00 |
|
Graydon Hoare
|
7e01aba12d
|
Declare the memcpy intrinsics properly.
|
2010-11-26 13:02:48 -08:00 |
|
Graydon Hoare
|
3fd3270845
|
Return memcpy src rather than falling through and failing.
|
2010-11-25 18:28:15 -08:00 |
|
Graydon Hoare
|
a95dbdef70
|
Cast memcpy args to correct types.
|
2010-11-25 18:13:20 -08:00 |
|
Graydon Hoare
|
9b3182a99d
|
Add lookup checks and intrinsics table to trans.
|
2010-11-25 17:45:26 -08:00 |
|
Graydon Hoare
|
7e2f205866
|
Add missed case to typeck.ast_ty_to_ty, plus faux exhaustiveness check.
|
2010-11-25 17:06:36 -08:00 |
|
Graydon Hoare
|
416d9bc0fd
|
Fix typo in numeric-label-parsing loop.
|
2010-11-25 16:53:17 -08:00 |
|
Graydon Hoare
|
f0abe8f568
|
Translate field expressions.
|
2010-11-25 16:40:24 -08:00 |
|
Graydon Hoare
|
5678f5aa56
|
Typecheck field expressions.
|
2010-11-25 16:40:03 -08:00 |
|
Graydon Hoare
|
092af6fb76
|
Typecheck tup expressions.
|
2010-11-25 14:44:04 -08:00 |
|
Graydon Hoare
|
cffdb66aa4
|
Translate tuple-expressions.
|
2010-11-24 18:11:11 -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 |
|
Graydon Hoare
|
f809375b16
|
Sketch out type-directed structural drop and copy, including vector types.
|
2010-11-24 16:56:01 -08:00 |
|
Graydon Hoare
|
96540ef0bb
|
move expr_call translation into helper function.
|
2010-11-24 16:56:01 -08:00 |
|
Graydon Hoare
|
e2f9f746ea
|
Move expr_cast translation into helper function.
|
2010-11-24 16:56:01 -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 |
|
Patrick Walton
|
f55f46af64
|
rustc: Typecheck whiles and do-whiles. Add a workaround to complex.rs pending a solution to the one-armed-if problem.
|
2010-11-23 17:02:08 -08:00 |
|
Patrick Walton
|
4208352527
|
rustc: As an experiment, swap the expected/actual types when checking function arguments. Produces better diagnostics for arg-type-mismatch.rs.
|
2010-11-23 10:25:20 -08:00 |
|
Graydon Hoare
|
f2a7e712d3
|
Remove warning about non-void expr stmts.
|
2010-11-22 18:03:27 -08:00 |
|
Graydon Hoare
|
e05d7c3ac1
|
Support mach types in rustc, enable 5 more tests.
|
2010-11-22 17:41:32 -08:00 |
|
Patrick Walton
|
3e01b2d529
|
rustc: "Expected" and "actual" were swapped. Also un-XFAIL compile-fail/arg-count-mismatch.rs for good measure.
|
2010-11-22 17:38:23 -08:00 |
|
Patrick Walton
|
c0741c13ab
|
Remove the global bindings table in the typechecker
|
2010-11-22 17:14:18 -08:00 |
|
Graydon Hoare
|
d3cb25d5d1
|
Check and translate 'as' cast-operator, lower target-specific types, reindent rustc.rs, enable uint test.
|
2010-11-22 16:27:00 -08:00 |
|
Graydon Hoare
|
c262543d3b
|
Fix type disagreements in lowering typeck.ty to llvm TypeRefs, enable complex.rs test.
|
2010-11-22 14:28:05 -08:00 |
|
Graydon Hoare
|
1090c5e69c
|
Check for structural equality rather than structural-and-cname equality.
|
2010-11-22 13:24:53 -08:00 |
|
Graydon Hoare
|
6fcf55347e
|
Resolve the easy case of type paths.
|
2010-11-22 13:24:53 -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 |
|
Graydon Hoare
|
3ba6736383
|
More typeck hacking, check if and call exprs, enable fact and deep tests.
|
2010-11-21 12:06:09 -08:00 |
|
Graydon Hoare
|
5955e23343
|
Typecheck assignment exprs, redo decl checking, propagate ty_vars. Enable another test.
|
2010-11-21 01:16:16 -08:00 |
|
Graydon Hoare
|
79a3811ab8
|
Typecheck binary, unary and name expressions. Re-enable 3 more tests.
|
2010-11-20 23:00:52 -08:00 |
|
Graydon Hoare
|
77670e84de
|
Fix bug in llvm type signature of function items; enable three more tests.
|
2010-11-20 22:05:17 -08:00 |
|
Graydon Hoare
|
eaf9df2dc3
|
Remove dead code.
|
2010-11-20 22:04:48 -08:00 |
|
Graydon Hoare
|
e731520be5
|
Add helper function to double-check non-null types.
|
2010-11-20 22:04:34 -08:00 |
|
Graydon Hoare
|
244c59ac20
|
Clean up typechecker file, disable all tests that fail under typechecker.
|
2010-11-19 20:46:04 -08:00 |
|
Graydon Hoare
|
6d92ca64a7
|
Translate typeck.ty_fn to a TypeRef. Can compile int.rs test now.
|
2010-11-19 20:08:57 -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 |
|
Graydon Hoare
|
44b051f34a
|
Fix typo in x86 backend glue that was, by luck, only crashing on OSX.
|
2010-11-15 12:45:26 -08:00 |
|
Graydon Hoare
|
a352efadad
|
Switch upcall glues to fastcall as well.
|
2010-11-14 13:41:10 -08:00 |
|
Graydon Hoare
|
4cbef9d8a1
|
Remove outptr from module-internal calls; use standard ABI returns.
|
2010-11-14 13:04:01 -08:00 |
|
Graydon Hoare
|
640d167037
|
Switch module-internal calls (i.e. all user code) to fastcall. Still returning via explicit outptr. Activate glue works by accident.
|
2010-11-14 12:28:07 -08:00 |
|
Graydon Hoare
|
a7af86155d
|
Support emitting trap instructions for debugging.
|
2010-11-14 11:21:49 -08:00 |
|
Graydon Hoare
|
2de59aa6b9
|
Correct infinite-loop, block-context mismatches in early cleanups.
|
2010-11-14 10:48:44 -08:00 |
|
Patrick Walton
|
e02ffb2c2d
|
rustc: Add a type annotation for locals
|
2010-11-12 16:11:33 -08:00 |
|
Graydon Hoare
|
0578978495
|
Move phi-node generation into a helper that measures the liveness of each incoming edge. Factorial test now succeeds.
|
2010-11-12 14:51:11 -08:00 |
|
Graydon Hoare
|
2ff0662eae
|
Load outptr alloca as retval; function call/return now works in rustc.
|
2010-11-12 11:48:18 -08:00 |
|
Graydon Hoare
|
1ff88982fe
|
Stop translating a block when a sub-statement terminates the llvm bb.
|
2010-11-12 10:15:40 -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 |
|
Graydon Hoare
|
d1e7f0b414
|
Redo the scheme for block context chaining and termination, to simplify and support ret better.
|
2010-11-10 17:46:49 -08:00 |
|
Graydon Hoare
|
a404e54261
|
Teach rustc about const tag value, begin work on trans_copy_ty, make uint's to_str routine less clever and thereby resist overflow.
|
2010-11-09 17:50:31 -08:00 |
|
Graydon Hoare
|
216082d040
|
Translate ast.box unary expressions and support extraction of TypeRefs from AST annotations.
|
2010-11-05 18:31:24 -07:00 |
|
Graydon Hoare
|
ffb3861c70
|
Move symbol prefix logic into separate function, add underscore prefix for windows.
|
2010-11-05 18:31:23 -07:00 |
|
Graydon Hoare
|
c1fb592f62
|
Emit WinMain@16 entrypoint on windows.
|
2010-11-05 18:31:22 -07:00 |
|
Graydon Hoare
|
981edaef40
|
Fix two incorrect block-context uses in rustc.
|
2010-11-05 18:31:21 -07:00 |
|
Graydon Hoare
|
2122e363df
|
Teach rustc to generate type descriptors.
|
2010-11-05 18:31:20 -07:00 |
|
Graydon Hoare
|
3956b98312
|
Switch rustc to llvm 2.8 rather than 2.8svn on windows.
|
2010-11-05 18:31:20 -07: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
|
7db115834f
|
Split out stratum-checking pass, implement more-strict (overly aggressive) impure-effect checking.
|
2010-11-02 15:24:46 -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
|
f3b7aa9068
|
Long line police.
|
2010-10-22 19:37:03 -07:00 |
|
Graydon Hoare
|
3bf775e80f
|
Pass outptr as in rustboot. Probably need to revisit this ABI. Also disgusting hack employed. Please remove.
|
2010-10-22 19:35:48 -07:00 |
|
Graydon Hoare
|
b2f07c6056
|
Collect all fns first so decl order doesn't matter to translation.
|
2010-10-22 19:31:33 -07:00 |
|
Graydon Hoare
|
d4497e481e
|
Extremely broken hacked-up incorrect attempt at 'ret'.
|
2010-10-22 19:23:10 -07:00 |
|
Graydon Hoare
|
e5229b97d7
|
Don't use string == in x86.rs, doesn't work.
|
2010-10-22 17:27:22 -07:00 |
|
Patrick Walton
|
05a3c5c0f3
|
rustc: Add an "_" prefix to assembler-generated symbols on Mac
|
2010-10-22 16:16:02 -07:00 |
|
Graydon Hoare
|
6d47d2abde
|
Implement check-exprs, un-xfail 5 rustc tests.
|
2010-10-22 15:37:42 -07:00 |
|
Graydon Hoare
|
6ec402d4a6
|
Add makefile bits to run rustc on the testsuite as part of 'make check'. Mostly xfailed.
|
2010-10-22 14:46:03 -07:00 |
|
Graydon Hoare
|
36aea66e47
|
Give rustc the beginnings of an option-processing loop (at least -nowarn, -h and -o).
|
2010-10-22 11:47:28 -07:00 |
|
Graydon Hoare
|
74eda5bb70
|
Make append take a mutable &. Not even checked at present, tsk tsk.
|
2010-10-22 11:46:54 -07:00 |
|
Graydon Hoare
|
3f80e79efc
|
Add support for passing args to fns in rustc.
|
2010-10-21 18:13:57 -07:00 |
|
Graydon Hoare
|
67477b85ae
|
Support basic function calls in rustc.
|
2010-10-21 17:24:26 -07:00 |
|
Graydon Hoare
|
3aaae2a881
|
Teach rustc to parse call exprs.
|
2010-10-21 16:42:02 -07:00 |
|
Dave Herman
|
dbe27199b8
|
line length police; moved comp.util.bits to std.bitv
|
2010-10-21 11:39:53 -07:00 |
|
Dave Herman
|
852c0d6631
|
oops, removed bits.test() from main
|
2010-10-21 08:06:44 -07:00 |
|
Dave Herman
|
da8b6795c7
|
tests and bugfixes: fns take aliases, fixed binary arithmetic in create, eliminated wasted bit per uint
|
2010-10-21 07:36:13 -07:00 |
|
Dave Herman
|
ce3224652f
|
simpler computation of uint_bits(), plus whitespace police
|
2010-10-20 22:04:19 -07:00 |
|
Dave Herman
|
8f71dad2c9
|
created a first draft of the bit-set library needed for typestate
|
2010-10-20 17:04:15 -07:00 |
|
Graydon Hoare
|
368943998d
|
Translate lazy && and || operators in rustc.
|
2010-10-19 17:24:15 -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 |
|
Graydon Hoare
|
f747101b7c
|
Rewrite session formatting to use #fmt extension.
|
2010-10-18 16:03:22 -07:00 |
|
Graydon Hoare
|
67d4427345
|
Begin sketching name lookup in rustc.
|
2010-10-18 14:37:30 -07:00 |
|
Graydon Hoare
|
05e7374e29
|
Expand rustc's fold to update env on block boundaries.
|
2010-10-18 14:36:40 -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 |
|
Graydon Hoare
|
ff4e9f9141
|
Enable resolve pass in rustc. Doesn't do much yet aside from an incomplete identity fold, but no longer crashes.
|
2010-10-14 15:53:28 -07:00 |
|
Graydon Hoare
|
6993346e7d
|
Stop using bound refs (don't work; leak) and work around auto-deref vec-append bug.
|
2010-10-14 15:52:42 -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
|
785d9b1594
|
Add a little code to resolve, to check that the fold interface works.
|
2010-10-07 18:34:22 -07:00 |
|
Graydon Hoare
|
b184be07e1
|
Revise folds to be much-less-polymorphic after some discussion; flesh out stmt and expr fold drivers.
|
2010-10-07 16:42:48 -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
|
a87e81b929
|
Support refcount-drop and conditional free in rustc.
|
2010-10-01 18:25:42 -07:00 |
|
Graydon Hoare
|
2e0d075407
|
Fix bug in bind thunks failing top drop unbound args; add test and adjust rustc to use bind again.
|
2010-09-30 17:39:37 -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
|
f13306e8d6
|
Switch boolean operands to 1-bit, as llvm prefers. Will promote to 8-bit when storing to memory.
|
2010-09-28 16:17:28 -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
|
f5787ed80c
|
Translate exit-task glue such that rustc's output programs exit properly.
|
2010-09-27 15:38:34 -07:00 |
|
Graydon Hoare
|
a2f4d9089a
|
Fix indexing bug in rustc's indirect-upcall arg-copying loops.
|
2010-09-27 14:42:58 -07:00 |
|
Graydon Hoare
|
d31eca41d5
|
First linkable and executable translation from rustc. Upcalls to log, passes wrong arg, crashes. Baby steps.
|
2010-09-27 13:43:53 -07:00 |
|
Graydon Hoare
|
d53209c927
|
Construct the crate constant in rustc.
|
2010-09-24 16:41:01 -07:00 |
|
Graydon Hoare
|
b69a0c137c
|
Modify the task type to not contain any opaques; apparently these make LLVM cross.
|
2010-09-24 15:22:48 -07:00 |
|
Graydon Hoare
|
4cfc4250bf
|
More work on trans, almost getting to the point of emitting an upcall.
|
2010-09-24 14:56:04 -07:00 |
|
Graydon Hoare
|
6b412be619
|
Wrap long line.
|
2010-09-23 18:42:49 -07:00 |
|
Graydon Hoare
|
274128c6b2
|
Add trans.get_upcall and skeleton for trans_log.
|
2010-09-23 18:38:37 -07:00 |
|
Graydon Hoare
|
730439c508
|
Improve LLVM builder wrapper-object.
|
2010-09-23 18:38:09 -07:00 |
|
Graydon Hoare
|
2db1f864e2
|
Declare the global and upcall glues as ValueRefs in rustc's trans.
|
2010-09-23 17:16:34 -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 |
|
Graydon Hoare
|
2c514f33f2
|
More fleshing-out on rustc.me.trans. Emitting modules and fns corresponding to parsed input now.
|
2010-09-23 13:15:51 -07:00 |
|
Graydon Hoare
|
04a55df54b
|
Flesh out rustc.me.trans to construct functions, basic blocks and builders off the AST.
|
2010-09-22 17:05:38 -07:00 |
|
Graydon Hoare
|
738fe078a4
|
Move llvm-using code in rustc to trans module.
|
2010-09-22 15:27:40 -07:00 |
|
Graydon Hoare
|
1f0621d04e
|
Begin teaching rustc to parse literals, atoms, stmts, blocks, items, modules, crates.
|
2010-09-21 16:22:32 -07:00 |
|
Graydon Hoare
|
9f0a6c21b2
|
Implement preliminary form of structured compare. No boxes, vectors or strings yet.
|
2010-09-21 11:47:10 -07:00 |
|
Graydon Hoare
|
72cc89c8c3
|
Add QUES to comp/fe/lexer.rs, rustc can self-lex again.
|
2010-09-21 08:30:06 -07:00 |
|
Graydon Hoare
|
c5f4789d5b
|
Bind pattern slots with ?, drop parens from 0-ary tag constructors, translate 0-ary constructors as constants. Rustc loses ~300kb.
|
2010-09-20 23:56:43 -07:00 |
|
Graydon Hoare
|
7287d3aaa0
|
Teach front-end about simple, first-cut version of const items.
|
2010-09-14 10:52:32 -07:00 |
|
Graydon Hoare
|
a9e2327a18
|
Switch tags to purely nominal, removing TY_iso and TY_idx. Seems to mostly work, possibly a little bumpy. Changes a lot.
|
2010-09-09 15:59:29 -07:00 |
|
Graydon Hoare
|
eb90be7798
|
Add session, span tracking, error reporting, beginning of a function to parse an item to rustc.
|
2010-09-01 13:24:14 -07:00 |
|
Graydon Hoare
|
cfca901cfe
|
Add block-comment support, various additional operators. Rustc can lex itself now.
|
2010-08-31 13:29:08 -07:00 |
|
Graydon Hoare
|
11e747fc58
|
Er, this would be the hunk that actually failed to get committed last time.
|
2010-08-31 12:54:24 -07:00 |
|
Graydon Hoare
|
2f3201a64c
|
Reinstate commit 9f0eaa6581 with sufficient fixes to hopefully not break tinderboxes.
|
2010-08-31 12:42:24 -07:00 |
|
Patrick Walton
|
6ec8c21016
|
Revert "More work on lexer.rs: start using keyword hashtable, handle more lexemes." due to tinderbox bustage
This reverts commit 9f0eaa6581 .
|
2010-08-27 17:29:56 -07:00 |
|
Graydon Hoare
|
9f0eaa6581
|
More work on lexer.rs: start using keyword hashtable, handle more lexemes.
|
2010-08-27 16:35:50 -07:00 |
|
Roy Frostig
|
6f52ba7cc5
|
Whitespace shuffle in rustc's lexer to fit 78-column rule and put out burning tinderbox.
|
2010-08-27 13:36:18 -07:00 |
|
Graydon Hoare
|
1428b59a19
|
Modify rustboot to use lexer.reader.
|
2010-08-27 13:08:47 -07:00 |
|
Graydon Hoare
|
07d355d1af
|
Add lexer.reader to rustc for tracking position, char conversion, holding keyword tables.
|
2010-08-24 09:59:41 -07:00 |
|
Graydon Hoare
|
ca3ca041f3
|
Add very basic char / str literal handling to rustc lexer.
|
2010-08-24 08:56:42 -07:00 |
|
Graydon Hoare
|
df3ea680ea
|
Tidy lexer.
|
2010-08-24 08:50:56 -07:00 |
|
Graydon Hoare
|
2745a5ebb2
|
Handle line-comments and a few more symbols in rustc lexer.
|
2010-08-23 19:17:04 -07:00 |
|
Graydon Hoare
|
c0e173e19a
|
Stringify op tokens.
|
2010-08-20 15:57:59 -07:00 |
|
Graydon Hoare
|
db377bae3a
|
Accumulate number tokens properly, handle newline, EQ and EQEQ in rustc lexer.
|
2010-08-20 15:36:48 -07:00 |
|
Patrick Walton
|
08f191d6d9
|
Lex commas too in the self-hosted compiler
|
2010-08-20 14:58:15 -07:00 |
|
Patrick Walton
|
fc05ea0371
|
Use pattern matching for the one-byte structural symbols in the self-hosted compiler
|
2010-08-20 14:35:59 -07:00 |
|
Graydon Hoare
|
eecd1f47d7
|
Fix some lexer bugs in rustc. Beginning to lex stuff now.
|
2010-08-20 12:12:37 -07:00 |
|
Graydon Hoare
|
0f224f977d
|
Expand rustc lexer to do almost-nearly-nontrivial stuff.
|
2010-08-20 11:42:44 -07:00 |
|
Graydon Hoare
|
9363c1ab7f
|
Use str += u8 in rustc lexer.
|
2010-08-20 10:03:31 -07:00 |
|
Graydon Hoare
|
40fccac7fb
|
Add some code to lexer in rustc.
|
2010-08-19 18:42:32 -07:00 |
|
Graydon Hoare
|
4727532e95
|
Simplify lexer/parser structure to use stdio_reader.
|
2010-08-18 15:41:24 -07:00 |
|
Graydon Hoare
|
51412cb5fa
|
Add do-nothing obj type for lexer to rustc.
|
2010-08-18 11:35:34 -07:00 |
|
Graydon Hoare
|
a1b57e69cd
|
Add mod token to rustc.
|
2010-08-18 11:35:12 -07:00 |
|
Graydon Hoare
|
49f668dff3
|
Add mod common to rustc.
|
2010-08-18 11:34:47 -07:00 |
|
Graydon Hoare
|
b5ad78f316
|
Change indent on rustc.rc.
|
2010-08-18 11:34:22 -07:00 |
|
Graydon Hoare
|
102ec16877
|
Flesh out the ast module in rustc a little.
|
2010-08-18 09:00:10 -07:00 |
|
Graydon Hoare
|
9db70bfc42
|
Add test code that exercises LLVM in rustc. Works.
|
2010-08-18 00:19:45 -07:00 |
|
Graydon Hoare
|
3f2c39b3d8
|
Fix symbol names on LLVM C library binding and library-name for LLVM.
|
2010-08-18 00:19:25 -07:00 |
|
Graydon Hoare
|
7e62aa6801
|
Absent any deep overhauls to syntax or constant-handling, hack in the ability to project a cexp var binding to a token in the parser. Use it in comp/rustc.rc and comp/lib/llvm.rs.
|
2010-08-16 13:02:46 -07:00 |
|
Graydon Hoare
|
5267b77d3b
|
Add more LLVM library bindings to rustc.
|
2010-08-12 12:10:36 -07:00 |
|
Graydon Hoare
|
bc0d1fbae5
|
Add modelines and related emacs chatter to rustc.
|
2010-08-12 10:29:23 -07:00 |
|
Graydon Hoare
|
5297582ba2
|
Add mostly-empty AST module to rustc.
|
2010-08-12 10:27:50 -07:00 |
|
Graydon Hoare
|
8030757624
|
Switch machine-type lexemes to use suffixes. Remove support for foo(bar) as a cast notation. Closes #129.
|
2010-07-27 19:21:51 -07:00 |
|
Graydon Hoare
|
872f588ccb
|
Sketch some not-quite-compiling code into comp/fe/lexer.rs.
|
2010-07-14 09:41:36 -07:00 |
|
Graydon Hoare
|
1d1a7985a8
|
Add some (non-functional) input-readingn to rustc.rs.
|
2010-07-13 14:26:59 -07:00 |
|
Graydon Hoare
|
c3945da2e4
|
Add another pile of LLVM bindings.
|
2010-07-12 23:48:44 -07:00 |
|
Graydon Hoare
|
cd0c9dd4fb
|
Start bringing in LLVM bindings.
|
2010-07-12 17:47:40 -07:00 |
|
Graydon Hoare
|
3f354b24dc
|
Clean out rustc so it doesn't give the false impression of doing anything yet.
|
2010-07-08 10:45:34 -07:00 |
|
Graydon Hoare
|
d6b7c96c3e
|
Populate tree.
|
2010-06-23 21:03:09 -07:00 |
|