Skip to content

Commit 3f9ec56

Browse files
committed
---
yaml --- r: 626 b: refs/heads/master c: 11e747f h: refs/heads/master v: v3
1 parent def93ad commit 3f9ec56

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: 2f3201a64c43762052bc13022ddb5695c11ea516
2+
refs/heads/master: 11e747fc5835680ba2a78b3cbc277f93e07362a4

trunk/src/comp/fe/lexer.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -210,18 +210,18 @@ fn hex_digit_val(char c) -> int {
210210
}
211211

212212
if (in_range(c, 'a', 'f')) {
213-
ret (c as int) - ('a' as int);
213+
ret ((c as int) - ('a' as int)) + 10;
214214
}
215215

216216
if (in_range(c, 'A', 'F')) {
217-
ret (c as int) - ('A' as int);
217+
ret ((c as int) - ('A' as int)) + 10;
218218
}
219219

220220
fail;
221221
}
222222

223223
fn bin_digit_value(char c) -> int {
224-
if (c == 0) { ret 0; }
224+
if (c == '0') { ret 0; }
225225
ret 1;
226226
}
227227

@@ -281,7 +281,7 @@ fn next_token(reader rdr) -> token.token {
281281
c = rdr.curr();
282282
while (is_hex_digit(c) || c == '_') {
283283
accum_int *= 16;
284-
accum_int += hex_digit_val(v);
284+
accum_int += hex_digit_val(c);
285285
rdr.bump();
286286
c = rdr.curr();
287287
}
@@ -291,17 +291,17 @@ fn next_token(reader rdr) -> token.token {
291291
rdr.bump();
292292
rdr.bump();
293293
c = rdr.curr();
294-
while (is_hex_digit(c) || c == '_') {
294+
while (is_bin_digit(c) || c == '_') {
295295
accum_int *= 2;
296-
accum_int += bit_value(c);
296+
accum_int += bin_digit_value(c);
297297
rdr.bump();
298298
c = rdr.curr();
299299
}
300300
}
301301

302302
while (is_dec_digit(c) || c == '_') {
303303
accum_int *= 10;
304-
accum_int += dec_digit_val(v);
304+
accum_int += dec_digit_val(c);
305305
rdr.bump();
306306
c = rdr.curr();
307307
}

0 commit comments

Comments
 (0)