call-graph #1
1 changed files with 0 additions and 65 deletions
|
@ -279,68 +279,3 @@ pub fn lex(source: &str) -> Result<Vec<Token>> {
|
||||||
|
|
||||||
Ok(tokens)
|
Ok(tokens)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
|
||||||
mod tests {
|
|
||||||
use super::*;
|
|
||||||
use crate::assembler::ToCode;
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_token_to_assembly() {
|
|
||||||
assert_eq!(
|
|
||||||
Token::Comment(" \"main function\" like definition macro".to_string()).to_code(),
|
|
||||||
"; \"main function\" like definition macro".to_string()
|
|
||||||
);
|
|
||||||
assert_eq!(
|
|
||||||
Token::CharLiteral("\\n".to_string()).to_code(),
|
|
||||||
"'\\n'".to_string()
|
|
||||||
);
|
|
||||||
assert_eq!(
|
|
||||||
Token::MacroLiteral("xyz".to_string()).to_code(),
|
|
||||||
"xyz".to_string()
|
|
||||||
);
|
|
||||||
assert_eq!(
|
|
||||||
Token::Literal("xkcd".to_string()).to_code(),
|
|
||||||
"xkcd".to_string()
|
|
||||||
);
|
|
||||||
assert_eq!(Token::Newline("\n".to_string()).to_code(), "\n".to_string());
|
|
||||||
assert_eq!(
|
|
||||||
Token::Whitespace(" ".to_string()).to_code(),
|
|
||||||
" ".to_string()
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_lex() -> Result<()> {
|
|
||||||
assert_eq!(
|
|
||||||
lex(";; test".to_string())?,
|
|
||||||
vec![Token::Comment(" test".to_string())]
|
|
||||||
);
|
|
||||||
assert_eq!(
|
|
||||||
lex("@ test".to_string())?,
|
|
||||||
vec![Token::Comment(" test".to_string())]
|
|
||||||
);
|
|
||||||
assert_eq!(
|
|
||||||
lex("# test".to_string())?,
|
|
||||||
vec![Token::Comment(" test".to_string())]
|
|
||||||
);
|
|
||||||
assert_eq!(
|
|
||||||
lex("'\\n'".to_string())?,
|
|
||||||
vec![Token::CharLiteral("\\n".to_string())]
|
|
||||||
);
|
|
||||||
assert_eq!(
|
|
||||||
lex("\"test\"".to_string())?,
|
|
||||||
vec![Token::StringLiteral("test".to_string())]
|
|
||||||
);
|
|
||||||
assert_eq!(
|
|
||||||
lex(".debug CORE_REG_PC".to_string())?,
|
|
||||||
vec![
|
|
||||||
Token::MacroLiteral(".debug".to_string()),
|
|
||||||
Token::Whitespace(" ".to_string()),
|
|
||||||
Token::Literal("CORE_REG_PC".to_string())
|
|
||||||
]
|
|
||||||
);
|
|
||||||
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in a new issue