ast: rename Type to Primitive

Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
This commit is contained in:
2023-07-30 01:51:13 +05:30
parent 589fa73d7c
commit bcc3b29fc5

View File

@@ -1,16 +1,7 @@
/// A very naive AST definition using recursive enums
/// See the parser for implementation
use std::rc::Rc;
/// Primitives
///
/// TODO: add arrays and pointers maybe
#[derive(Debug)]
pub enum Type {
Int,
Float,
Char,
}
use std::rc::Rc;
pub type Parent = Vec<Entity>;
@@ -54,9 +45,9 @@ pub enum ClassChildren {
#[derive(Debug)]
pub struct Fn {
pub name: Rc<str>,
pub return_typ: Option<Type>,
pub params: Vec<Rc<str>>,
pub block: Vec<Statement>,
pub return_typ: Option<Primitive>,
pub params: Vec<(Rc<str>, Primitive)>,
pub children: Vec<Statement>,
}
#[derive(Debug)]
@@ -69,7 +60,7 @@ pub enum Statement {
#[derive(Debug)]
pub struct Let {
pub name: Rc<str>,
pub typ: Type,
pub typ: Primitive,
pub expr: Option<Expr>,
}
@@ -86,3 +77,13 @@ pub enum Expr {
Break,
Continue,
}
/// Primitives
///
/// TODO: add arrays and pointers maybe
#[derive(Debug)]
pub enum Primitive {
Int,
Float,
Char,
}