Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
7185ea35
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,发现更多精彩内容 >>
提交
7185ea35
编写于
12月 19, 2011
作者:
M
Marijn Haverbeke
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Use quotes around tokens in parser error messages to make them more readable
Closes #1328
上级
6637340c
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
14 addition
and
14 deletion
+14
-14
src/comp/syntax/parse/parser.rs
src/comp/syntax/parse/parser.rs
+12
-12
src/test/compile-fail/attr-bad-meta.rs
src/test/compile-fail/attr-bad-meta.rs
+1
-1
src/test/compile-fail/ext-after-attrib.rs
src/test/compile-fail/ext-after-attrib.rs
+1
-1
未找到文件。
src/comp/syntax/parse/parser.rs
浏览文件 @
7185ea35
...
@@ -162,8 +162,8 @@ fn bad_expr_word_table() -> hashmap<str, ()> {
...
@@ -162,8 +162,8 @@ fn bad_expr_word_table() -> hashmap<str, ()> {
}
}
fn
unexpected
(
p
:
parser
,
t
:
token
::
token
)
->
!
{
fn
unexpected
(
p
:
parser
,
t
:
token
::
token
)
->
!
{
let
s
:
str
=
"unexpected token:
"
;
let
s
:
str
=
"unexpected token:
'"
+
token
::
to_str
(
p
.get_reader
(),
t
)
+
s
+=
token
::
to_str
(
p
.get_reader
(),
t
)
;
"'"
;
p
.fatal
(
s
);
p
.fatal
(
s
);
}
}
...
@@ -171,11 +171,11 @@ fn expect(p: parser, t: token::token) {
...
@@ -171,11 +171,11 @@ fn expect(p: parser, t: token::token) {
if
p
.peek
()
==
t
{
if
p
.peek
()
==
t
{
p
.bump
();
p
.bump
();
}
else
{
}
else
{
let
s
:
str
=
"expecting "
;
let
s
:
str
=
"expecting
'
"
;
s
+=
token
::
to_str
(
p
.get_reader
(),
t
);
s
+=
token
::
to_str
(
p
.get_reader
(),
t
);
s
+=
"
, found
"
;
s
+=
"
' but found '
"
;
s
+=
token
::
to_str
(
p
.get_reader
(),
p
.peek
());
s
+=
token
::
to_str
(
p
.get_reader
(),
p
.peek
());
p
.fatal
(
s
);
p
.fatal
(
s
+
"'"
);
}
}
}
}
...
@@ -1703,9 +1703,9 @@ fn parse_block_tail(p: parser, lo: uint, s: ast::blk_check_mode) -> ast::blk {
...
@@ -1703,9 +1703,9 @@ fn parse_block_tail(p: parser, lo: uint, s: ast::blk_check_mode) -> ast::blk {
token
::
RBRACE
.
{
expr
=
some
(
e
);
}
token
::
RBRACE
.
{
expr
=
some
(
e
);
}
t
{
t
{
if
stmt_ends_with_semi
(
*
stmt
)
{
if
stmt_ends_with_semi
(
*
stmt
)
{
p
.fatal
(
"expected ';' or '}' after
"
+
p
.fatal
(
"expected ';' or '}' after
expression but
\
"expression but found "
+
found '"
+
token
::
to_str
(
p
.get_reader
(),
t
)
+
token
::
to_str
(
p
.get_reader
(),
t
)
);
"'"
);
}
}
stmts
+=
[
stmt
];
stmts
+=
[
stmt
];
}
}
...
@@ -1908,8 +1908,8 @@ fn parse_mod_items(p: parser, term: token::token,
...
@@ -1908,8 +1908,8 @@ fn parse_mod_items(p: parser, term: token::token,
alt
parse_item
(
p
,
attrs
)
{
alt
parse_item
(
p
,
attrs
)
{
some
(
i
)
{
items
+=
[
i
];
}
some
(
i
)
{
items
+=
[
i
];
}
_
{
_
{
p
.fatal
(
"expected item but found "
+
p
.fatal
(
"expected item but found
'
"
+
token
::
to_str
(
p
.get_reader
(),
p
.peek
())
);
token
::
to_str
(
p
.get_reader
(),
p
.peek
())
+
"'"
);
}
}
}
}
}
}
...
@@ -2079,8 +2079,8 @@ fn parse_item_tag(p: parser, attrs: [ast::attribute]) -> @ast::item {
...
@@ -2079,8 +2079,8 @@ fn parse_item_tag(p: parser, attrs: [ast::attribute]) -> @ast::item {
}
}
token
::
RBRACE
.
{
/* empty */
}
token
::
RBRACE
.
{
/* empty */
}
_
{
_
{
p
.fatal
(
"expected name of variant or '}' but found "
+
p
.fatal
(
"expected name of variant or '}' but found
'
"
+
token
::
to_str
(
p
.get_reader
(),
tok
));
token
::
to_str
(
p
.get_reader
(),
tok
)
+
"'"
);
}
}
}
}
}
}
...
...
src/test/compile-fail/attr-bad-meta.rs
浏览文件 @
7185ea35
// error-pattern:expecting
]
// error-pattern:expecting
']'
// asterisk is bogus
// asterisk is bogus
#[attr
*
]
#[attr
*
]
...
...
src/test/compile-fail/ext-after-attrib.rs
浏览文件 @
7185ea35
// error-pattern:expecting
[, found fmt
// error-pattern:expecting
'[' but found 'fmt'
// Don't know how to deal with a syntax extension appearing after an
// Don't know how to deal with a syntax extension appearing after an
// item attribute. Probably could use a better error message.
// item attribute. Probably could use a better error message.
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录