about summary refs log tree commit diff
path: root/src/comp/syntax
AgeCommit message (Collapse)AuthorLines
2011-11-17remove compile-command from local variable blocksNiko Matsakis-16/+0
2011-11-16Replace 'mutable?' with 'const'Brian Anderson-3/+2
2011-11-16rustc: Accept 'const' as synonym for 'mutable?'Brian Anderson-4/+7
2011-11-16Use attributes for native module ABI and link nameHaitao Li-65/+22
This patch changes how to specify ABI and link name of a native module. Before: native "cdecl" mod llvm = "rustllvm" {...} After: #[abi = "cdecl"] #[link_name = "rustllvm"] native mod llvm {...} The old optional syntax for ABI and link name is no longer supported. Fixes issue #547
2011-11-16Use attributes for native module ABI and link name [temp]Haitao Li-1/+25
This patch adds support of using attributes to specify native mode ABI and link name. The old optional syntax like: native "cdecl" mod llvm = "rustllvm" { ... } is still supported. This is a transitional commit to avoid making a stage1 (backward imcompatible) snapshot.
2011-11-16rustc: Use link_name attribute for native functionHaitao Li-13/+6
Fixes issue #906
2011-11-10Cleanup unused importsHaitao Li-20/+14
2011-11-10Add float support to #fmt. Fix #1014.Josh Matthews-0/+3
2011-11-09Rename "c-stack-stdcall" ABI to "stdcall"Brian Anderson-2/+0
2011-11-09Rename "c-stack-cdecl" ABI to "cdecl"Brian Anderson-2/+0
2011-11-09Add "cdecl" as synonym for "c-stack-cdecl"Brian Anderson-1/+3
2011-11-09Add "stdcall" as synonym for "c-stack-stdcall"Brian Anderson-1/+3
2011-11-09rustc: Rename native_abi_c_stack_cdecl to native_abi_cdeclBrian Anderson-4/+4
2011-11-09rustc: Rename native_abi_c_stack_stdcall to native_abi_stdcallBrian Anderson-3/+3
2011-11-09Remove native "x86stdcall" ABIBrian Anderson-4/+0
2011-11-08Remove native "cdecl" ABIBrian Anderson-5/+2
2011-11-07Remove native "llvm" ABIBrian Anderson-4/+0
2011-11-07Remove native "rust" ABIBrian Anderson-4/+0
2011-11-07[Parser] parser.rs: Made two error messages less ambiguousDavid Rajchenbach-Teller-2/+6
2011-11-03Disallow writing to function arguments againMarijn Haverbeke-16/+6
Remove implicit copying hack. Closes #1118
2011-11-02Make 'lambda(...) -> ...' parse as a typeMarijn Haverbeke-22/+9
2011-10-29rustc: Support 'companion mod's for crates and directory modsBrian Anderson-8/+65
Under this scheme when parsing foo.rc the parser will also look for foo.rs to fill in the crate-level module, and when evaluating a directory module directive it will look for a .rs file with the same name as the directory.
2011-10-29stdlib: Make io failures recoverable by returning a resultBrian Anderson-4/+19
2011-10-28rustc: Remove broken --depend flagBrian Anderson-9/+0
2011-10-28rustc: Extract error reporting from codemapBrian Anderson-13/+42
2011-10-28Make shared kind the default only for generic functionsMarijn Haverbeke-34/+30
You almost never want a function with pinned type params. For types, objects, resources, and tags, pinned types are actually often more sane. For most of these, shared rarely makes sense. Only tricky case is objs -- you'll have to think about the kinds you want there. Issue #1076
2011-10-28Move to blocks, rather than fn@s, in parser.rsMarijn Haverbeke-16/+17
2011-10-28Move to short type parameter keywordsMarijn Haverbeke-7/+7
Issue #1076
2011-10-28Start accepting short keywords for parameter kindsMarijn Haverbeke-3/+5
This is a pre-snapshot commit to be able to implement #1076 without the bootstrap compiler getting in my way.
2011-10-27Use the std::term color constants in the codemapBrian Anderson-3/+3
Exported constants work now. Woo!
2011-10-25Update our code to new type parameter kind syntaxMarijn Haverbeke-13/+13
Closes #1067
2011-10-25Remove support for @/~-style type param kind annotationMarijn Haverbeke-9/+2
Issue #1067
2011-10-25Step one towards new type param kind syntaxMarijn Haverbeke-3/+7
Issue #1067 Needs a snapshot to finalize.
2011-10-21Remove hack to break the AST fold cycle. Closes #998Brian Anderson-38/+2
2011-10-21Be more careful when parsing block callsMarijn Haverbeke-1/+2
Previously, the parser would try to interpret this as a block call: if true {} // No semicolon {|i, am, a, block|}; Which, though unlikely, might come up in practice.
2011-10-21Change the way block calls are parsed, mark them as block-calls.Marijn Haverbeke-27/+37
This makes it possible to omit the semicolon after the block, and will cause the pretty-printer to properly print such calls (if pretty-printing of blocks wasn't so broken). Block calls (with the block outside of the parentheses) can now only occur at statement level, and their value can not be used. When calling a block-style function that returns a useful value, the block must be put insde the parentheses. Issue #1054
2011-10-21Drop support for iter, put, and for-eachMarijn Haverbeke-65/+15
Closes #1056
2011-10-21Move ast_util::pat_bindings over to new iter system.Marijn Haverbeke-16/+10
Issue #1056
2011-10-21Remove last uses of iterators from stdlibMarijn Haverbeke-3/+1
Issue #1056
2011-10-21Move hash table iteration over to block-taking functionsMarijn Haverbeke-8/+8
Issue #1056
2011-10-21Support Ruby-style block argument syntaxMarijn Haverbeke-12/+21
Issue #1054
2011-10-20Remove temporary fn# syntaxBrian Anderson-15/+4
2011-10-20Don't allow fn@ itemsBrian Anderson-3/+0
fn@ is intended to be caputring but isn't implemented.
2011-10-20Merge ast::proto_shared and ast::proto_closureBrian Anderson-12/+16
Now they are both just proto_shared and proto_shared takes an argument indicating that it is sugared as 'lambda'
2011-10-20Rename ast::proto_fn to ast::proto_sharedBrian Anderson-8/+7
2011-10-20Make fn denote a bare function. Convert fn to fn@ as neededBrian Anderson-159/+164
2011-10-20Parse obj methods as proto_bareBrian Anderson-10/+8
I don't know if this is the right thing to do, but it works and it lets 'fn' always mean proto_bare
2011-10-20Split parsing of fn proto between types, items and anonsBrian Anderson-6/+30
The meaning of various fn incantations is going to get temporarily confusing
2011-10-20Fix the problem with check-fast randomly failingBrian Anderson-0/+12
Trans has been assuming that tag node id's are unique across crates and they are not so, depending on which way the wind is blowing, it would choose to use a crate-local tag variant instead of the correct one from std. No test case since I can't come up with a reliable one that compiles in a reasonable amount of time.
2011-10-19Fail nicer when the parser doesn't find an expected string literalBrian Anderson-2/+4
Closes #1028