Skip to content

Commit 996a4bc

Browse files
committed
---
yaml --- r: 160361 b: refs/heads/auto c: 7586abf h: refs/heads/master i: 160359: 42dd26f v: v3
1 parent 1a02c9c commit 996a4bc

File tree

2 files changed

+16
-30
lines changed

2 files changed

+16
-30
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
1010
refs/tags/release-0.3.1: 495bae036dfe5ec6ceafd3312b4dca48741e845b
1111
refs/tags/release-0.4: e828ea2080499553b97dfe33b3f4d472b4562ad7
1212
refs/tags/release-0.5: 7e3bcfbf21278251ee936ad53e92e9b719702d73
13-
refs/heads/auto: 606a309d4aeb09ba88a0962c633a5b3fd4b300f6
13+
refs/heads/auto: 7586abf01b5c6fcbb60926c7cab7d3e5d133fa9a
1414
refs/heads/servo: af82457af293e2a842ba6b7759b70288da276167
1515
refs/tags/release-0.6: b4ebcfa1812664df5e142f0134a5faea3918544c
1616
refs/tags/0.1: b19db808c2793fe2976759b85a355c3ad8c8b336

branches/auto/src/grammar/RustLexer.g4

Lines changed: 15 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -92,49 +92,35 @@ fragment CHAR_ESCAPE
9292
| 'U' HEXIT HEXIT HEXIT HEXIT HEXIT HEXIT HEXIT HEXIT
9393
;
9494
95-
LIT_CHAR
96-
: '\'' ( '\\' CHAR_ESCAPE | ~[\\'\n\t\r] ) '\''
95+
fragment SUFFIX
96+
: IDENT
9797
;
9898
99-
LIT_BYTE
100-
: 'b\'' ( '\\' ( [xX] HEXIT HEXIT | [nrt\\'"0] ) | ~[\\'\n\t\r] ) '\''
99+
LIT_CHAR
100+
: '\'' ( '\\' CHAR_ESCAPE | ~[\\'\n\t\r] ) '\'' SUFFIX?
101101
;
102102

103-
fragment INT_SUFFIX
104-
: 'i'
105-
| 'i8'
106-
| 'i16'
107-
| 'i32'
108-
| 'i64'
109-
| 'u'
110-
| 'u8'
111-
| 'u16'
112-
| 'u32'
113-
| 'u64'
103+
LIT_BYTE
104+
: 'b\'' ( '\\' ( [xX] HEXIT HEXIT | [nrt\\'"0] ) | ~[\\'\n\t\r] ) '\'' SUFFIX?
114105
;
115106

116107
LIT_INTEGER
117-
: [0-9][0-9_]* INT_SUFFIX?
118-
| '0b' [01][01_]* INT_SUFFIX?
119-
| '0o' [0-7][0-7_]* INT_SUFFIX?
120-
| '0x' [0-9a-fA-F][0-9a-fA-F_]* INT_SUFFIX?
121-
;
122-
123-
fragment FLOAT_SUFFIX
124-
: 'f32'
125-
| 'f64'
108+
: [0-9][0-9_]* SUFFIX?
109+
| '0b' [01][01_]* SUFFIX?
110+
| '0o' [0-7][0-7_]* SUFFIX?
111+
| '0x' [0-9a-fA-F][0-9a-fA-F_]* SUFFIX?
126112
;
127113

128114
LIT_FLOAT
129-
: [0-9][0-9_]* ('.' | ('.' [0-9][0-9_]*)? ([eE] [-+]? [0-9][0-9_]*)? FLOAT_SUFFIX?)
115+
: [0-9][0-9_]* ('.' | ('.' [0-9][0-9_]*)? ([eE] [-+]? [0-9][0-9_]*)? SUFFIX?)
130116
;
131117

132118
LIT_STR
133-
: '"' ('\\\n' | '\\\r\n' | '\\' CHAR_ESCAPE | .)*? '"'
119+
: '"' ('\\\n' | '\\\r\n' | '\\' CHAR_ESCAPE | .)*? '"' SUFFIX?
134120
;
135121

136-
LIT_BINARY : 'b' LIT_STR ;
137-
LIT_BINARY_RAW : 'rb' LIT_STR_RAW ;
122+
LIT_BINARY : 'b' LIT_STR SUFFIX?;
123+
LIT_BINARY_RAW : 'rb' LIT_STR_RAW SUFFIX?;
138124

139125
/* this is a bit messy */
140126

@@ -148,7 +134,7 @@ fragment LIT_STR_RAW_INNER2
148134
;
149135

150136
LIT_STR_RAW
151-
: 'r' LIT_STR_RAW_INNER
137+
: 'r' LIT_STR_RAW_INNER SUFFIX?
152138
;
153139

154140
IDENT : XID_start XID_continue* ;

0 commit comments

Comments
 (0)