@@ -85,43 +85,60 @@ ident [a-zA-Z\x80-\xff_][a-zA-Z0-9\x80-\xff_]*
8585<blockcomment >(. | \n ) { }
8686
8787_ { return UNDERSCORE; }
88+ abstract { return ABSTRACT; }
89+ alignof { return ALIGNOF; }
8890as { return AS; }
91+ become { return BECOME; }
8992box { return BOX; }
9093break { return BREAK; }
94+ catch { return CATCH; }
9195const { return CONST; }
9296continue { return CONTINUE; }
9397crate { return CRATE; }
98+ default { return DEFAULT; }
99+ do { return DO; }
94100else { return ELSE; }
95101enum { return ENUM; }
96102extern { return EXTERN; }
97103false { return FALSE ; }
104+ final { return FINAL; }
98105fn { return FN; }
99106for { return FOR; }
100107if { return IF; }
101108impl { return IMPL; }
102109in { return IN; }
103110let { return LET; }
104111loop { return LOOP; }
112+ macro { return MACRO; }
105113match { return MATCH; }
106114mod { return MOD; }
107115move { return MOVE; }
108116mut { return MUT; }
117+ offsetof { return OFFSETOF; }
118+ override { return OVERRIDE; }
109119priv { return PRIV; }
110120proc { return PROC; }
121+ pure { return PURE; }
111122pub { return PUB; }
112123ref { return REF; }
113124return { return RETURN; }
114125self { return SELF; }
126+ sizeof { return SIZEOF; }
115127static { return STATIC; }
116128struct { return STRUCT; }
129+ super { return SUPER; }
117130trait { return TRAIT; }
118131true { return TRUE ; }
119132type { return TYPE; }
120133typeof { return TYPEOF; }
134+ union { return UNION; }
121135unsafe { return UNSAFE; }
136+ unsized { return UNSIZED; }
122137use { return USE; }
138+ virtual { return VIRTUAL; }
123139where { return WHERE; }
124140while { return WHILE; }
141+ yield { return YIELD; }
125142
126143{ident } { return IDENT; }
127144
@@ -189,25 +206,25 @@ while { return WHILE; }
189206\>\> = { return SHREQ; }
190207\> { return ' >' ; }
191208
192- \x27 { BEGIN (ltorchar); yymore (); }
193- <ltorchar >static { BEGIN (INITIAL); return STATIC_LIFETIME; }
194- <ltorchar >{ident } { BEGIN (INITIAL); return LIFETIME; }
195- <ltorchar >\\ [nrt \\ \x27\x22 0 ]\x27 { BEGIN (suffix); return LIT_CHAR; }
196- <ltorchar >\\ x[0 -9a -fA -F ]{2 }\x27 { BEGIN (suffix); return LIT_CHAR; }
197- <ltorchar >\\ u\{ [0 -9a -fA -F ]? { 6 }\} \x27 { BEGIN (suffix); return LIT_CHAR; }
198- <ltorchar >. \x27 { BEGIN (suffix); return LIT_CHAR; }
199- <ltorchar >[\x80 -\xff ]{2,4 }\x27 { BEGIN (suffix); return LIT_CHAR; }
200- <ltorchar ><<EOF>> { BEGIN (INITIAL); return -1 ; }
209+ \x27 { BEGIN (ltorchar); yymore (); }
210+ <ltorchar >static { BEGIN (INITIAL); return STATIC_LIFETIME; }
211+ <ltorchar >{ident } { BEGIN (INITIAL); return LIFETIME; }
212+ <ltorchar >\\ [nrt \\ \x27\x22 0 ]\x27 { BEGIN (suffix); return LIT_CHAR; }
213+ <ltorchar >\\ x[0 -9a -fA -F ]{2 }\x27 { BEGIN (suffix); return LIT_CHAR; }
214+ <ltorchar >\\ u\{ ( [0 -9a -fA -F ]_ * ){ 1, 6 }\} \x27 { BEGIN (suffix); return LIT_CHAR; }
215+ <ltorchar >. \x27 { BEGIN (suffix); return LIT_CHAR; }
216+ <ltorchar >[\x80 -\xff ]{2,4 }\x27 { BEGIN (suffix); return LIT_CHAR; }
217+ <ltorchar ><<EOF>> { BEGIN (INITIAL); return -1 ; }
201218
202219b\x22 { BEGIN (bytestr); yymore (); }
203220<bytestr >\x22 { BEGIN (suffix); return LIT_BYTE_STR; }
204221
205- <bytestr ><<EOF>> { return -1 ; }
206- <bytestr >\\ [n \n rt \\ \x27\x22 0 ] { yymore (); }
207- <bytestr >\\ x[0 -9a -fA -F ]{2 } { yymore (); }
208- <bytestr >\\ u\{ [0 -9a -fA -F ]? { 6 }\} { yymore (); }
209- <bytestr >\\ [^ n \n rt \\ \x27\x22 0 ] { return -1 ; }
210- <bytestr >(. | \n ) { yymore (); }
222+ <bytestr ><<EOF>> { return -1 ; }
223+ <bytestr >\\ [n \n rt \\ \x27\x22 0 ] { yymore (); }
224+ <bytestr >\\ x[0 -9a -fA -F ]{2 } { yymore (); }
225+ <bytestr >\\ u\{ ( [0 -9a -fA -F ]_ * ){ 1, 6 }\} { yymore (); }
226+ <bytestr >\\ [^ n \n rt \\ \x27\x22 0 ] { return -1 ; }
227+ <bytestr >(. | \n ) { yymore (); }
211228
212229br\x22 { BEGIN (rawbytestr_nohash); yymore (); }
213230<rawbytestr_nohash >\x22 { BEGIN (suffix); return LIT_BYTE_STR_RAW; }
@@ -252,13 +269,13 @@ br/# {
252269}
253270<rawbytestr ><<EOF>> { return -1 ; }
254271
255- b\x27 { BEGIN (byte); yymore (); }
256- <byte >\\ [nrt \\ \x27\x22 0 ]\x27 { BEGIN (INITIAL); return LIT_BYTE; }
257- <byte >\\ x[0 -9a -fA -F ]{2 }\x27 { BEGIN (INITIAL); return LIT_BYTE; }
258- <byte >\\ u[0 -9a -fA -F ]{4 }\x27 { BEGIN (INITIAL); return LIT_BYTE; }
259- <byte >\\ U[0 -9a -fA -F ]{8 }\x27 { BEGIN (INITIAL); return LIT_BYTE; }
260- <byte >. \x27 { BEGIN (INITIAL); return LIT_BYTE; }
261- <byte ><<EOF>> { BEGIN (INITIAL); return -1 ; }
272+ b\x27 { BEGIN (byte); yymore (); }
273+ <byte >\\ [nrt \\ \x27\x22 0 ]\x27 { BEGIN (INITIAL); return LIT_BYTE; }
274+ <byte >\\ x[0 -9a -fA -F ]{2 }\x27 { BEGIN (INITIAL); return LIT_BYTE; }
275+ <byte >\\ u( [0 -9a -fA -F ]_ * ) {4 }\x27 { BEGIN (INITIAL); return LIT_BYTE; }
276+ <byte >\\ U( [0 -9a -fA -F ]_ * ) {8 }\x27 { BEGIN (INITIAL); return LIT_BYTE; }
277+ <byte >. \x27 { BEGIN (INITIAL); return LIT_BYTE; }
278+ <byte ><<EOF>> { BEGIN (INITIAL); return -1 ; }
262279
263280r\x22 { BEGIN (rawstr); yymore (); }
264281<rawstr >\x22 { BEGIN (suffix); return LIT_STR_RAW; }
@@ -310,12 +327,12 @@ r/# {
310327\x22 { BEGIN (str); yymore (); }
311328<str >\x22 { BEGIN (suffix); return LIT_STR; }
312329
313- <str ><<EOF>> { return -1 ; }
314- <str >\\ [n \n r \r t \\ \x27\x22 0 ] { yymore (); }
315- <str >\\ x[0 -9a -fA -F ]{2 } { yymore (); }
316- <str >\\ u\{ [0 -9a -fA -F ]? { 6 }\} { yymore (); }
317- <str >\\ [^ n \n rt \\ \x27\x22 0 ] { return -1 ; }
318- <str >(. | \n ) { yymore (); }
330+ <str ><<EOF>> { return -1 ; }
331+ <str >\\ [n \n r \r t \\ \x27\x22 0 ] { yymore (); }
332+ <str >\\ x[0 -9a -fA -F ]{2 } { yymore (); }
333+ <str >\\ u\{ ( [0 -9a -fA -F ]_ * ){ 1, 6 }\} { yymore (); }
334+ <str >\\ [^ n \n rt \\ \x27\x22 0 ] { return -1 ; }
335+ <str >(. | \n ) { yymore (); }
319336
320337\< - { return LARROW; }
321338-\> { return RARROW; }
0 commit comments