Add parsing of string literals
This commit is contained in:
parent
d5b0e3ebf7
commit
b9dfa9b1ce
@ -29,6 +29,7 @@ pub enum TypeKind {
|
||||
pub enum Literal {
|
||||
Number(u64),
|
||||
Bool(bool),
|
||||
String(String),
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
|
@ -84,6 +84,10 @@ impl Parse for PrimaryExpression {
|
||||
Kind::Literal(Literal::Number(*v)),
|
||||
stream.get_range().unwrap(),
|
||||
),
|
||||
Token::StringLit(v) => Expression(
|
||||
Kind::Literal(Literal::String(v.clone())),
|
||||
stream.get_range().unwrap(),
|
||||
),
|
||||
Token::True => Expression(
|
||||
Kind::Literal(Literal::Bool(true)),
|
||||
stream.get_range().unwrap(),
|
||||
|
@ -204,6 +204,7 @@ impl ast::Literal {
|
||||
match *self {
|
||||
ast::Literal::Number(v) => mir::Literal::Vague(mir::VagueLiteral::Number(v)),
|
||||
ast::Literal::Bool(v) => mir::Literal::Bool(v),
|
||||
ast::Literal::String(_) => todo!("process string literal"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user