Brian Anderson
7d05da96f7
Rename std::ioivec to std::io
2011-08-12 12:08:27 -07:00
Brian Anderson
740196987e
Rename std::str::unsafe_from_bytes_ivec to unsafe_from_bytes
2011-08-12 12:08:27 -07:00
Brian Anderson
a9ce342fa3
Convert all uses of unsafe_from_bytes to unsafe_from_bytes_ivec
2011-08-12 12:08:26 -07:00
Brian Anderson
49b80f9bf7
Remove str::from_bytes
...
This is exactly the same as str::unsafe_from_bytes
2011-08-12 12:08:26 -07:00
Michael Sullivan
67e361a940
Introduce a ty_infer ast node and use it instead of option::t[ty].
...
This actually basically makes things worse, since we get less nice
type system guarentees but it will make doing type inferred blocks a
fair deal less painful. I'm not /really/ happy about this...
2011-08-10 20:18:07 -07:00
Graydon Hoare
511c053856
Remove dead keywords from parser.
2011-08-10 17:11:24 -07:00
Erick Tryzelaar
00ccd6ba42
Remove support for the ivec T[] syntax.
2011-08-09 15:53:26 -07:00
Erick Tryzelaar
8b15045224
Port the compiler to the ivec type [T] syntax.
2011-08-09 15:53:26 -07:00
Erick Tryzelaar
a37e00ed1f
Change the ivec type syntax to [T].
...
This preserves the old syntax for now.
2011-08-09 11:29:36 -07:00
Graydon Hoare
b54e7e4506
Add new arg-passing mode 'move' denoted with '-T'. Translate as pass-by-value, doesn't deinit source yet nor get proper analysis in typestate, alias passes.
2011-08-08 15:53:41 -07:00
Patrick Walton
b079e1adbb
rustc: Parse "inline". Also write it into metadata.
2011-08-05 13:59:27 -07:00
Patrick Walton
fd7ffd5ac2
rustc: Add inlineness to the fn decl instead
2011-08-05 11:46:43 -07:00
Patrick Walton
59e9b629c0
Revert "rustc: Introduce the concept of inline to the AST"
...
This reverts commit 9b9170f9fe2e4701255a5bd0630c203409d8e934.
2011-08-05 11:38:06 -07:00
Patrick Walton
9b9170f9fe
rustc: Introduce the concept of inline to the AST
2011-08-05 11:33:48 -07:00
Brian Anderson
e4da7c5bee
parse_crate_from_source_str takes a parse_sess, not codemap
...
This was causing problems when reading from stdin for subsequent passes that
needed to generate node ids.
2011-08-03 10:55:59 -07:00
Brian Anderson
35e9e02066
Use ioivec::read_whole_file_str in a few places
2011-08-02 10:39:14 -07:00
Brian Anderson
5f4b7e1ba7
Compiler accepts input from stdin when source file is called "-"
2011-08-02 10:39:09 -07:00
Marijn Haverbeke
985c32ef4c
Partially implement destructuring locals
...
You can now say
let {bcx, val} = some_result_returner();
Similar for loop variables. Assigning to such variables is not safe
yet. Function arguments also remain a TODO.
2011-08-01 17:51:37 +02:00
Marijn Haverbeke
c34d74315f
Remove unreachable statements
2011-07-29 20:54:44 +02:00
Marijn Haverbeke
48cc11631c
Parse anonymous objs in statement position
...
Closes #761
2011-07-29 15:01:06 +02:00
Marijn Haverbeke
b1d2a00b4a
Remove support for obj dtors
2011-07-29 14:03:24 +02:00
Lindsey Kuper
b24da1c2e5
The names 'outer' and 'inner' make more sense than 'self' and 'with'.
...
(Also, some formatting and long-string cleanup.)
2011-07-28 14:54:32 -07:00
Paul Stansifer
86f337484e
Change macro syntax to accept a single expr, not a sequence of exprs.
2011-07-28 12:12:08 -07:00
Graydon Hoare
acac6abc85
Parse, store and print type parameter kind constraints.
2011-07-28 17:22:59 +00:00
Josh Matthews
f0e29c92aa
:: is allowed to start an expression. Close #762 .
2011-07-28 02:33:24 -04:00
Graydon Hoare
63f74f3771
Remove vestiges of "layers", insert skeletal do-nothing "kind" pass plus cached calculation of kind for each type.
2011-07-27 17:49:00 -07:00
Marijn Haverbeke
19394a50e7
Make printing of comments inside bindings slightly less broken
2011-07-27 16:24:41 +02:00
Marijn Haverbeke
e3552da0e6
No longer allow 'case' keyword before patterns
2011-07-27 16:01:31 +02:00
Marijn Haverbeke
6e2a7bff7f
Fix damage done by the pretty-printer
2011-07-27 15:54:33 +02:00
Marijn Haverbeke
df7f21db09
Reformat for new syntax
2011-07-27 15:54:33 +02:00
Marijn Haverbeke
66c1ca857b
Update the parser to accept the new syntax
2011-07-27 15:19:31 +02:00
Graydon Hoare
0a69196ef3
Handle column-zero \n explicitly rather than looking for \n\n.
2011-07-26 15:41:42 -07:00
Graydon Hoare
63aa869405
Consume EOL after line comment.
2011-07-26 15:41:42 -07:00
Michael Sullivan
8c8fa79312
Add block and closure protos and parse/pp block and lambda exprs.
2011-07-26 12:30:14 -07:00
Marijn Haverbeke
2c1250780d
Remove tuple support from the compiler
2011-07-26 15:19:56 +02:00
Marijn Haverbeke
c0976ad70b
Properly parse 'auto' for loop variable types
2011-07-26 14:53:01 +02:00
Marijn Haverbeke
aea537779e
Remove all uses of tuples from the compiler and stdlib
2011-07-26 14:06:02 +02:00
Marijn Haverbeke
ce808bbc6f
Make the pretty-printer output new-style syntax for local decls
2011-07-26 10:40:28 +02:00
Marijn Haverbeke
252b8ffe42
Add support for new-style local decls
...
let x = 5;
let y: int = 10;
// as soon as a typestate bug is fixed:
let x: str = foo, y <- 20u;
'auto' and 'type-first let' will soon be dropped.
2011-07-26 10:27:26 +02:00
Graydon Hoare
5ab213a464
Correct input coordinate tracking on block-opening brace.
2011-07-25 17:35:40 -07:00
Graydon Hoare
1243ce271e
Recognize and preserve first blank line if first line of file.
2011-07-25 17:10:08 -07:00
Michael Sullivan
25a89e068d
Rename the block type to be blk also. Sorry.
2011-07-25 14:18:07 -07:00
Graydon Hoare
552bff8a21
Adjust pp interface to that printing a crate (an reproducing literals/comments) takes a reader, not just a filename. Fixes first big pp-fuzzer bug.
2011-07-25 14:04:49 -07:00
Michael Sullivan
6bcdb48e35
Disallow block as a variable name in preparation for it becoming a keyword.
2011-07-25 13:42:38 -07:00
Marijn Haverbeke
19507787a9
Add support for bracey record types and literals
...
type foo = {mutable x: int, y: int};
auto myfoo = {mutable x: 10, y: 20u};
The old syntax is also still supported.
2011-07-25 17:41:00 +02:00
Marijn Haverbeke
cce1b4667b
Add look-ahead to parser object
2011-07-25 17:16:41 +02:00
Marijn Haverbeke
dca67f95cb
Make the lexer slightly less stateful
2011-07-25 16:46:08 +02:00
Marijn Haverbeke
e949aab10a
Remove some rustboot-isms
...
Closes #464
2011-07-25 15:07:48 +02:00
Marijn Haverbeke
f0be65cb50
Fix span information returned by parser::parse_seq
...
Its hi pos used to be the end of the token after the sequence. It now
properly reports the end of the closing token.
2011-07-25 14:04:37 +02:00
Paul Stansifer
e18d70fe12
Implement Macro By Example.
2011-07-22 16:53:43 -07:00