This commit is contained in:
2025-05-28 03:41:40 +02:00
parent d8422261f6
commit 3125ee5a96
6 changed files with 161 additions and 47 deletions

View File

@ -4,20 +4,28 @@ pub struct Module {
pub statements: Vec<Statement>,
}
#[derive(Debug)]
pub enum Statement {
FunctionDeclaration {
name: Token,
parameters: Vec<ParameterDeclaration>,
statements: Vec<Statement>,
},
Expression,
Expression(Expression),
}
#[derive(Debug)]
pub struct ParameterDeclaration {
name: Token,
typename: Token,
pub name: Token,
pub typename: Token,
}
#[derive(Debug)]
pub enum Expression {
Identifier(Token),
FunctionCall {},
FunctionCall {
function: Box<Expression>,
arguments: Vec<Expression>,
return_type: Option<Token>,
},
}