Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
371be3c6
R
Rust
项目概览
int
/
Rust
大约 1 年 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Rust
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
371be3c6
编写于
11月 18, 2012
作者:
B
Brian Anderson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove unused file_type enum from the parser
上级
74b2e997
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
24 addition
and
38 deletion
+24
-38
src/libsyntax/ext/pipes.rs
src/libsyntax/ext/pipes.rs
+2
-2
src/libsyntax/ext/source_util.rs
src/libsyntax/ext/source_util.rs
+1
-2
src/libsyntax/ext/trace_macros.rs
src/libsyntax/ext/trace_macros.rs
+3
-3
src/libsyntax/ext/tt/macro_parser.rs
src/libsyntax/ext/tt/macro_parser.rs
+2
-2
src/libsyntax/ext/tt/macro_rules.rs
src/libsyntax/ext/tt/macro_rules.rs
+2
-2
src/libsyntax/parse.rs
src/libsyntax/parse.rs
+10
-16
src/libsyntax/parse/eval.rs
src/libsyntax/parse/eval.rs
+3
-3
src/libsyntax/parse/parser.rs
src/libsyntax/parse/parser.rs
+1
-8
未找到文件。
src/libsyntax/ext/pipes.rs
浏览文件 @
371be3c6
...
...
@@ -37,7 +37,7 @@
use
ext
::
base
::
ext_ctxt
;
use
ast
::
tt_delim
;
use
parse
::
lexer
::{
new_tt_reader
,
reader
};
use
parse
::
parser
::
{
Parser
,
SOURCE_FILE
}
;
use
parse
::
parser
::
Parser
;
use
parse
::
common
::
parser_common
;
use
pipes
::
parse_proto
::
proto_parser
;
...
...
@@ -52,7 +52,7 @@ fn expand_proto(cx: ext_ctxt, _sp: span, id: ast::ident,
let
tt_rdr
=
new_tt_reader
(
cx
.parse_sess
()
.span_diagnostic
,
cx
.parse_sess
()
.interner
,
None
,
tt
);
let
rdr
=
tt_rdr
as
reader
;
let
rust_parser
=
Parser
(
sess
,
cfg
,
rdr
.dup
()
,
SOURCE_FILE
);
let
rust_parser
=
Parser
(
sess
,
cfg
,
rdr
.dup
());
let
proto
=
rust_parser
.parse_proto
(
cx
.str_of
(
id
));
...
...
src/libsyntax/ext/source_util.rs
浏览文件 @
371be3c6
...
...
@@ -60,8 +60,7 @@ fn expand_include(cx: ext_ctxt, sp: span, arg: ast::mac_arg,
let
file
=
expr_to_str
(
cx
,
args
[
0
],
~
"include_str! requires a string"
);
let
p
=
parse
::
new_sub_parser_from_file
(
cx
.parse_sess
(),
cx
.cfg
(),
&
res_rel_file
(
cx
,
sp
,
&
Path
(
file
)),
parse
::
parser
::
SOURCE_FILE
,
sp
);
&
res_rel_file
(
cx
,
sp
,
&
Path
(
file
)),
sp
);
return
p
.parse_expr
();
}
...
...
src/libsyntax/ext/trace_macros.rs
浏览文件 @
371be3c6
...
...
@@ -2,7 +2,7 @@
use
ext
::
base
::
ext_ctxt
;
use
ast
::
tt_delim
;
use
parse
::
lexer
::{
new_tt_reader
,
reader
};
use
parse
::
parser
::
{
Parser
,
SOURCE_FILE
}
;
use
parse
::
parser
::
Parser
;
use
parse
::
common
::
parser_common
;
fn
expand_trace_macros
(
cx
:
ext_ctxt
,
sp
:
span
,
...
...
@@ -13,7 +13,7 @@ fn expand_trace_macros(cx: ext_ctxt, sp: span,
let
tt_rdr
=
new_tt_reader
(
cx
.parse_sess
()
.span_diagnostic
,
cx
.parse_sess
()
.interner
,
None
,
tt
);
let
rdr
=
tt_rdr
as
reader
;
let
rust_parser
=
Parser
(
sess
,
cfg
,
rdr
.dup
()
,
SOURCE_FILE
);
let
rust_parser
=
Parser
(
sess
,
cfg
,
rdr
.dup
());
let
arg
=
cx
.str_of
(
rust_parser
.parse_ident
());
match
arg
{
...
...
@@ -21,7 +21,7 @@ fn expand_trace_macros(cx: ext_ctxt, sp: span,
~
"false"
=>
cx
.set_trace_macros
(
false
),
_
=>
cx
.span_fatal
(
sp
,
~
"trace_macros! only accepts `true` or `false`"
)
}
let
rust_parser
=
Parser
(
sess
,
cfg
,
rdr
.dup
()
,
SOURCE_FILE
);
let
rust_parser
=
Parser
(
sess
,
cfg
,
rdr
.dup
());
let
result
=
rust_parser
.parse_expr
();
base
::
mr_expr
(
result
)
}
src/libsyntax/ext/tt/macro_parser.rs
浏览文件 @
371be3c6
...
...
@@ -3,7 +3,7 @@
use
parse
::
token
::{
Token
,
EOF
,
to_str
,
nonterminal
};
use
parse
::
lexer
::
*
;
//resolve bug?
//import parse::lexer::{reader, tt_reader, tt_reader_as_reader};
use
parse
::
parser
::
{
Parser
,
SOURCE_FILE
}
;
use
parse
::
parser
::
Parser
;
//import parse::common::parser_common;
use
parse
::
common
::
*
;
//resolve bug?
use
parse
::
parse_sess
;
...
...
@@ -355,7 +355,7 @@ fn parse(sess: parse_sess, cfg: ast::crate_cfg, rdr: reader, ms: ~[matcher])
}
rdr
.next_token
();
}
else
/* bb_eis.len() == 1 */
{
let
rust_parser
=
Parser
(
sess
,
cfg
,
rdr
.dup
()
,
SOURCE_FILE
);
let
rust_parser
=
Parser
(
sess
,
cfg
,
rdr
.dup
());
let
ei
=
bb_eis
.pop
();
match
ei
.elts
[
ei
.idx
]
.node
{
...
...
src/libsyntax/ext/tt/macro_rules.rs
浏览文件 @
371be3c6
...
...
@@ -4,7 +4,7 @@
match_nonterminal
,
match_seq
,
tt_delim
};
use
parse
::
lexer
::{
new_tt_reader
,
reader
};
use
parse
::
token
::{
FAT_ARROW
,
SEMI
,
LBRACE
,
RBRACE
,
nt_matchers
,
nt_tt
};
use
parse
::
parser
::
{
Parser
,
SOURCE_FILE
}
;
use
parse
::
parser
::
Parser
;
use
macro_parser
::{
parse
,
parse_or_else
,
success
,
failure
,
named_match
,
matched_seq
,
matched_nonterminal
,
error
};
use
std
::
map
::
HashMap
;
...
...
@@ -88,7 +88,7 @@ fn generic_extension(cx: ext_ctxt, sp: span, name: ident,
let
trncbr
=
new_tt_reader
(
s_d
,
itr
,
Some
(
named_matches
),
~
[
rhs
]);
let
p
=
Parser
(
cx
.parse_sess
(),
cx
.cfg
(),
trncbr
as
reader
,
SOURCE_FILE
);
trncbr
as
reader
);
let
e
=
p
.parse_expr
();
return
mr_expr
(
e
);
}
...
...
src/libsyntax/parse.rs
浏览文件 @
371be3c6
...
...
@@ -62,8 +62,7 @@ fn parse_crate_from_file(input: &Path, cfg: ast::crate_cfg,
fn
parse_crate_from_crate_file
(
input
:
&
Path
,
cfg
:
ast
::
crate_cfg
,
sess
:
parse_sess
)
->
@
ast
::
crate
{
let
p
=
new_crate_parser_from_file
(
sess
,
cfg
,
input
,
parser
::
CRATE_FILE
);
let
p
=
new_crate_parser_from_file
(
sess
,
cfg
,
input
);
let
lo
=
p
.span.lo
;
let
prefix
=
input
.dir_path
();
let
leading_attrs
=
p
.parse_inner_attrs_and_next
();
...
...
@@ -85,8 +84,7 @@ fn parse_crate_from_crate_file(input: &Path, cfg: ast::crate_cfg,
fn
parse_crate_from_source_file
(
input
:
&
Path
,
cfg
:
ast
::
crate_cfg
,
sess
:
parse_sess
)
->
@
ast
::
crate
{
let
p
=
new_crate_parser_from_file
(
sess
,
cfg
,
input
,
parser
::
SOURCE_FILE
);
let
p
=
new_crate_parser_from_file
(
sess
,
cfg
,
input
);
let
r
=
p
.parse_crate_mod
(
cfg
);
return
r
;
}
...
...
@@ -156,23 +154,21 @@ fn next_node_id(sess: parse_sess) -> node_id {
fn
new_parser_from_source_str
(
sess
:
parse_sess
,
cfg
:
ast
::
crate_cfg
,
+
name
:
~
str
,
+
ss
:
codemap
::
FileSubstr
,
source
:
@~
str
)
->
Parser
{
let
ftype
=
parser
::
SOURCE_FILE
;
let
filemap
=
sess
.cm
.new_filemap_w_substr
(
name
,
ss
,
source
);
let
srdr
=
lexer
::
new_string_reader
(
sess
.span_diagnostic
,
filemap
,
sess
.interner
);
return
Parser
(
sess
,
cfg
,
srdr
as
reader
,
ftype
);
return
Parser
(
sess
,
cfg
,
srdr
as
reader
);
}
fn
new_parser_from_file
(
sess
:
parse_sess
,
cfg
:
ast
::
crate_cfg
,
path
:
&
Path
,
ftype
:
parser
::
file_type
)
->
Result
<
Parser
,
~
str
>
{
path
:
&
Path
)
->
Result
<
Parser
,
~
str
>
{
match
io
::
read_whole_file_str
(
path
)
{
result
::
Ok
(
move
src
)
=>
{
let
filemap
=
sess
.cm
.new_filemap
(
path
.to_str
(),
@
move
src
);
let
srdr
=
lexer
::
new_string_reader
(
sess
.span_diagnostic
,
filemap
,
sess
.interner
);
Ok
(
Parser
(
sess
,
cfg
,
srdr
as
reader
,
ftype
))
Ok
(
Parser
(
sess
,
cfg
,
srdr
as
reader
))
}
result
::
Err
(
move
e
)
=>
Err
(
move
e
)
...
...
@@ -182,9 +178,8 @@ fn new_parser_from_file(sess: parse_sess, cfg: ast::crate_cfg,
/// Create a new parser for an entire crate, handling errors as appropriate
/// if the file doesn't exist
fn
new_crate_parser_from_file
(
sess
:
parse_sess
,
cfg
:
ast
::
crate_cfg
,
path
:
&
Path
,
ftype
:
parser
::
file_type
)
->
Parser
{
match
new_parser_from_file
(
sess
,
cfg
,
path
,
ftype
)
{
path
:
&
Path
)
->
Parser
{
match
new_parser_from_file
(
sess
,
cfg
,
path
)
{
Ok
(
move
parser
)
=>
move
parser
,
Err
(
move
e
)
=>
{
sess
.span_diagnostic
.handler
()
.fatal
(
e
)
...
...
@@ -195,9 +190,8 @@ fn new_crate_parser_from_file(sess: parse_sess, cfg: ast::crate_cfg,
/// Create a new parser based on a span from an existing parser. Handles
/// error messages correctly when the file does not exist.
fn
new_sub_parser_from_file
(
sess
:
parse_sess
,
cfg
:
ast
::
crate_cfg
,
path
:
&
Path
,
ftype
:
parser
::
file_type
,
sp
:
span
)
->
Parser
{
match
new_parser_from_file
(
sess
,
cfg
,
path
,
ftype
)
{
path
:
&
Path
,
sp
:
span
)
->
Parser
{
match
new_parser_from_file
(
sess
,
cfg
,
path
)
{
Ok
(
move
parser
)
=>
move
parser
,
Err
(
move
e
)
=>
{
sess
.span_diagnostic
.span_fatal
(
sp
,
e
)
...
...
@@ -209,5 +203,5 @@ fn new_parser_from_tt(sess: parse_sess, cfg: ast::crate_cfg,
tt
:
~
[
ast
::
token_tree
])
->
Parser
{
let
trdr
=
lexer
::
new_tt_reader
(
sess
.span_diagnostic
,
sess
.interner
,
None
,
tt
);
return
Parser
(
sess
,
cfg
,
trdr
as
reader
,
parser
::
SOURCE_FILE
)
return
Parser
(
sess
,
cfg
,
trdr
as
reader
)
}
src/libsyntax/parse/eval.rs
浏览文件 @
371be3c6
use
parser
::
{
Parser
,
SOURCE_FILE
}
;
use
parser
::
Parser
;
use
attr
::
parser_attr
;
use
ast_util
::
mk_sp
;
use
codemap
::
span
;
...
...
@@ -67,7 +67,7 @@ fn file_exists(path: &Path) -> bool {
debug!
(
"found companion mod"
);
// XXX: Using a dummy span, but this code will go away soon
let
p0
=
new_sub_parser_from_file
(
cx
.sess
,
cx
.cfg
,
modpath
,
SOURCE_FILE
,
modpath
,
ast_util
::
dummy_sp
());
let
inner_attrs
=
p0
.parse_inner_attrs_and_next
();
let
m0
=
p0
.parse_mod_items
(
token
::
EOF
,
inner_attrs
.next
);
...
...
@@ -96,7 +96,7 @@ fn eval_src_mod(cx: ctx, prefix: &Path, id: ast::ident,
};
let
p0
=
new_sub_parser_from_file
(
cx
.sess
,
cx
.cfg
,
&
full_path
,
SOURCE_FILE
,
sp
);
&
full_path
,
sp
);
let
inner_attrs
=
p0
.parse_inner_attrs_and_next
();
let
mod_attrs
=
vec
::
append
(
outer_attrs
,
inner_attrs
.inner
);
let
first_item_outer_attrs
=
inner_attrs
.next
;
...
...
src/libsyntax/parse/parser.rs
浏览文件 @
371be3c6
...
...
@@ -70,10 +70,7 @@
expr_vstore_fixed
,
expr_vstore_slice
,
expr_vstore_box
,
expr_vstore_uniq
,
TyFn
,
Onceness
,
Once
,
Many
};
export
file_type
;
export
Parser
;
export
CRATE_FILE
;
export
SOURCE_FILE
;
// FIXME (#3726): #ast expects to find this here but it's actually
// defined in `parse` Fixing this will be easier when we have export
...
...
@@ -92,8 +89,6 @@ enum restriction {
RESTRICT_NO_BAR_OR_DOUBLEBAR_OP
,
}
enum
file_type
{
CRATE_FILE
,
SOURCE_FILE
,
}
enum
class_member
{
field_member
(
@
struct_field
),
method_member
(
@
method
)
...
...
@@ -180,7 +175,7 @@ enum view_item_parse_mode {
/* ident is handled by common.rs */
fn
Parser
(
sess
:
parse_sess
,
cfg
:
ast
::
crate_cfg
,
+
rdr
:
reader
,
ftype
:
file_type
)
->
Parser
{
+
rdr
:
reader
)
->
Parser
{
let
tok0
=
rdr
.next_token
();
let
span0
=
tok0
.sp
;
...
...
@@ -191,7 +186,6 @@ fn Parser(sess: parse_sess, cfg: ast::crate_cfg,
interner
:
move
interner
,
sess
:
sess
,
cfg
:
cfg
,
file_type
:
ftype
,
token
:
tok0
.tok
,
span
:
span0
,
last_span
:
span0
,
...
...
@@ -210,7 +204,6 @@ fn Parser(sess: parse_sess, cfg: ast::crate_cfg,
struct
Parser
{
sess
:
parse_sess
,
cfg
:
crate_cfg
,
file_type
:
file_type
,
mut
token
:
token
::
Token
,
mut
span
:
span
,
mut
last_span
:
span
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录