Replaced char* with string in node functionality
This commit is contained in:
parent
24e3003c00
commit
f11a422819
2 changed files with 8 additions and 7 deletions
|
@ -1,6 +1,6 @@
|
|||
#include <stdio.h>
|
||||
#include <iostream>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <string>
|
||||
#include <assert.h>
|
||||
#include "node.h"
|
||||
#include "operators.h"
|
||||
|
@ -10,7 +10,7 @@
|
|||
#include "../variables/variable.h"
|
||||
|
||||
/* creates a new node and returns it */
|
||||
struct Node* make_node(int type, struct Value* value, char* id) {
|
||||
struct Node* make_node(int type, struct Value* value, std::string id) {
|
||||
int i;
|
||||
|
||||
/* allocate space */
|
||||
|
@ -19,7 +19,7 @@ struct Node* make_node(int type, struct Value* value, char* id) {
|
|||
/* set properties */
|
||||
node->type = type;
|
||||
node->value = value;
|
||||
strcpy(node->id, id);
|
||||
id.copy(node->id, id.length(), 0);
|
||||
node->num_children = 0;
|
||||
for(i = 0; i < MAX_CHILDREN; i++) {
|
||||
node->children[i] = NULL;
|
||||
|
@ -37,9 +37,9 @@ void attach_node(struct Node* parent, struct Node* child) {
|
|||
assert(parent->num_children <= MAX_CHILDREN);
|
||||
}
|
||||
|
||||
void check_num_nodes(struct Node* node, int num_children, char* error) {
|
||||
void check_num_nodes(struct Node* node, int num_children, std::string error) {
|
||||
if (node && node->num_children != num_children) {
|
||||
fprintf(stderr, "%s%s%s", "Error, ", error, "\n");
|
||||
std::cerr << "Error, " << error << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef NODE_H
|
||||
#define NODE_H
|
||||
|
||||
#include <string>
|
||||
#include "../variables/value.h"
|
||||
#include "../variables/environment.h"
|
||||
|
||||
|
@ -21,7 +22,7 @@ struct Node {
|
|||
};
|
||||
|
||||
// Abstract Syntax Tree Functions
|
||||
struct Node* make_node(int type, struct Value* value, char* id);
|
||||
struct Node* make_node(int type, struct Value* value, std::string id);
|
||||
void attach_node(struct Node* parent, struct Node* child);
|
||||
void print_tree(struct Node* node, int tabs);
|
||||
void delete_tree(struct Node* node);
|
||||
|
|
Reference in a new issue