Changed the lexer to accept #! comments on the first line.
This commit is contained in:
parent
248e439638
commit
f1cea3ce21
2 changed files with 12 additions and 0 deletions
|
@ -12,6 +12,7 @@ export new_filemap;
|
|||
export new_filemap_w_substr;
|
||||
export mk_substr_filename;
|
||||
export lookup_char_pos;
|
||||
export lookup_char_pos_adj;
|
||||
export adjust_span;
|
||||
export span_to_str;
|
||||
export span_to_filename;
|
||||
|
|
|
@ -119,6 +119,17 @@ fn consume_any_line_comment(rdr: reader) {
|
|||
'*' { rdr.bump(); rdr.bump(); ret consume_block_comment(rdr); }
|
||||
_ { ret; }
|
||||
}
|
||||
} else if rdr.curr == '#' {
|
||||
if rdr.next() == '!' {
|
||||
let cmap = codemap::new_codemap();
|
||||
(*cmap).files.push(rdr.filemap);
|
||||
let mut loc = codemap::lookup_char_pos_adj(cmap, rdr.chpos);
|
||||
if loc.line == 1u && loc.col == 0u {
|
||||
while rdr.curr != '\n' && !rdr.is_eof() { rdr.bump(); }
|
||||
loc = codemap::lookup_char_pos_adj(cmap, rdr.chpos);
|
||||
ret consume_whitespace_and_comments(rdr);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue