Add the abitlity to assign during a declaration and type inference if no type given but there is an expression

This commit is contained in:
Nathan Braswell
2016-01-17 01:10:09 -05:00
parent 9c41c2fd12
commit bffedcf2fd
4 changed files with 35 additions and 9 deletions

View File

@@ -86,7 +86,9 @@ obj c_generator (Object) {
fun generate_statement(node: *ast_node): string return generate(node->statement.child) + ";\n";
fun generate_declaration_statement(node: *ast_node): string {
var identifier = node->declaration_statement.identifier
return type_to_c(identifier->identifier.type) + " " + identifier->identifier.name
var to_ret = type_to_c(identifier->identifier.type) + " " + identifier->identifier.name
if (node->declaration_statement.expression) to_ret += string(" = ") + generate(node->declaration_statement.expression)
return to_ret
}
fun generate_assignment_statement(node: *ast_node): string {
return generate(node->assignment_statement.to) + " = " + generate(node->assignment_statement.from)