Added some comments
This commit is contained in:
parent
90f8137b0d
commit
c6f4aaef24
|
@ -142,9 +142,14 @@ fn get_string(lexer: &mut Lexer<Token>) -> Option<String> {
|
|||
let mut string = String::new();
|
||||
let mut slice = &lexer.slice()[2..];
|
||||
while let Some(escape_start) = slice.find('"') {
|
||||
// Push predeceasing string
|
||||
string.push_str(&slice.get(..escape_start)?);
|
||||
|
||||
// Move slice behind escape start delimiter
|
||||
slice = &slice.get(escape_start + 1..)?;
|
||||
|
||||
// Get escape end delimiter position and parse string before it to
|
||||
// a character from it's unicode value (base-12) and push it to string
|
||||
let escape_end = slice.find('"')?;
|
||||
string.push(
|
||||
u32::from_str_radix(&slice.get(..escape_end)?, 12)
|
||||
|
@ -152,9 +157,11 @@ fn get_string(lexer: &mut Lexer<Token>) -> Option<String> {
|
|||
.and_then(char::from_u32)?,
|
||||
);
|
||||
|
||||
// Move slice behind escape end delimiter
|
||||
slice = &slice.get(escape_end + 1..)?;
|
||||
}
|
||||
|
||||
// Push remaining string
|
||||
string.push_str(&slice);
|
||||
lexer.bump(2);
|
||||
|
||||
|
|
Loading…
Reference in a new issue