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