return val->value.text;
}
-AST* Symbol(Tok* val) {
- AST* node = ast(AST_SYMBOL);
- node->value.text = val->value.text;
- return node;
-}
-
-char* symbol_value(AST* val) {
- assert(val->nodetype == AST_SYMBOL);
- return val->value.text;
-}
-
AST* Char(Tok* val) {
AST* node = ast(AST_CHAR);
node->value.character = val->value.character;
printf("%s:", tree_type_to_string(tree->nodetype));
switch(tree->nodetype) {
case AST_STRING: printf("\"%s\"", string_value(tree)); break;
- case AST_SYMBOL: printf("%s", symbol_value(tree)); break;
case AST_IDENT: printf("%s", ident_value(tree)); break;
case AST_CHAR: printf("%c", char_value(tree)); break;
case AST_INT: printf("%ld", integer_value(tree)); break;
AST* String(Tok* val);
char* string_value(AST* val);
-/* Symbol */
-AST* Symbol(Tok* val);
-char* symbol_value(AST* val);
-
/* Character */
AST* Char(Tok* val);
uint32_t char_value(AST* val);
File* files;
} Package;
-pkg_add_require(Package* p, char* req);
-pkg_add_provide(Package* p, char* exp);
-pkg_add_definition(Package* p, AST* ast);
+void pkg_add_require(Package* p, char* req);
+void pkg_add_provide(Package* p, char* exp);
+void pkg_add_definition(Package* p, AST* ast);
/* Pretty Printing
*****************************************************************************/