#pragma once
#include "mytypes.h"
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>

node* CTint(node* arg_node, info* arg_info);
node* CTfloat(node* arg_node, info* arg_info);
node* CTbool(node* arg_node, info* arg_info);
node* CTbinop(node* arg_node, info* arg_info);
node* CTmonop(node* arg_node, info* arg_info);
node* CTassign(node* arg_node, info* arg_info);
node* CTcall(node* arg_node, info* arg_info);
node* CTreturn(node* arg_node, info* arg_info);
node* CTcast(node* arg_node, info* arg_info);
node* CTfor(node* arg_node, info* arg_info);
node* CTwhile(node* arg_node, info* arg_info);
node* CTif(node* arg_node, info* arg_info);
node* CTfundef(node* arg_node, info* arg_info);
node* CTvar(node* arg_node, info* arg_info);
node* CTvarlet(node* arg_node, info* arg_info);
node* CTglobaldef(node* arg_node, info* arg_info);
node* CTcondexpr(node* arg_node, info* arg_info);
node* CTvardecl(node* arg_node, info* arg_info);
node* CTarrexpr(node* arg_node, info* arg_info);
node* CTdoCheckTypes(node* syntaxtree);