Changed the lexer to accept #! comments on the first line.

This commit is contained in:
Margaret Meyerhofer 2012-05-22 17:27:20 -07:00
parent 248e439638
commit f1cea3ce21
2 changed files with 12 additions and 0 deletions

View file

@ -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;

View file

@ -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);
}
}
}
}