]> git.mdlowis.com Git - proto/sclpl.git/commitdiff
removed unused functions
authorMichael D. Lowis <mike@mdlowis.com>
Thu, 24 May 2018 01:12:39 +0000 (21:12 -0400)
committerMichael D. Lowis <mike@mdlowis.com>
Thu, 24 May 2018 01:12:39 +0000 (21:12 -0400)
source/ast.c
source/parser.c
source/pprint.c
source/sclpl.h

index 5299d728222aec87f95ed6e15d9904b3b21bc3e9..f105c50cff991bc6836bdc068fb011469d74040c 100644 (file)
@@ -67,7 +67,6 @@ intptr_t integer_value(AST* val)
 intptr_t temp_value(AST* val)
 {
     assert(val != NULL);
-    assert(val->type == AST_TEMP);
     return val->value.integer;
 }
 
@@ -113,117 +112,25 @@ char* ident_value(AST* val)
     return val->value.text;
 }
 
-AST* Def(Tok* name, AST* value)
+AST* Let(Tok* name, AST* value)
 {
-    AST* node = ast(AST_DEF);
-    node->value.def.name = name->value.text;
-    node->value.def.value = value;
+    AST* node = ast(AST_LET);
+    node->value.let.name = name->value.text;
+    node->value.let.value = value;
     return node;
 }
 
-char* def_name(AST* def)
+char* let_name(AST* let)
 {
-    assert(def != NULL);
-    assert(def->type == AST_DEF);
-    return def->value.def.name;
+    assert(let != NULL);
+    assert(let->type == AST_LET);
+    return let->value.let.name;
 }
 
-AST* def_value(AST* def)
+AST* let_value(AST* let)
 {
-    assert(def != NULL);
-    assert(def->type == AST_DEF);
-    return def->value.def.value;
-}
-
-AST* IfExpr(void)
-{
-    return ast(AST_IF);
-}
-
-AST* ifexpr_cond(AST* ifexpr)
-{
-    return ifexpr->value.ifexpr.cond;
-}
-
-void ifexpr_set_cond(AST* ifexpr, AST* cond)
-{
-    ifexpr->value.ifexpr.cond = cond;
-}
-
-AST* ifexpr_then(AST* ifexpr)
-{
-    return ifexpr->value.ifexpr.bthen;
-}
-
-void ifexpr_set_then(AST* ifexpr, AST* bthen)
-{
-    ifexpr->value.ifexpr.bthen = bthen;
-}
-
-AST* ifexpr_else(AST* ifexpr)
-{
-    return ifexpr->value.ifexpr.belse;
-}
-
-void ifexpr_set_else(AST* ifexpr, AST* belse)
-{
-    ifexpr->value.ifexpr.belse = belse;
-}
-
-AST* Func(void)
-{
-    AST* node = ast(AST_FUNC);
-    vec_init(&(node->value.func.args));
-    node->value.func.body = NULL;
-    return node;
-}
-
-vec_t* func_args(AST* func)
-{
-    return &(func->value.func.args);
-}
-
-AST* func_body(AST* func)
-{
-    return func->value.func.body;
-}
-
-void func_add_arg(AST* func, AST* arg)
-{
-    vec_push_back(func_args(func), arg);
-}
-
-void func_set_body(AST* func, AST* body)
-{
-    func->value.func.body = body;
-}
-
-AST* FnApp(AST* fnapp)
-{
-    AST* node = ast(AST_FNAPP);
-    node->value.fnapp.fn = fnapp;
-    vec_init(&(node->value.fnapp.args));
-    return node;
-}
-
-void fnapp_set_fn(AST* fnapp, AST* fn)
-{
-    AST* old = fnapp->value.fnapp.fn;
-    fnapp->value.fnapp.fn = fn;
-}
-
-AST* fnapp_fn(AST* fnapp)
-{
-    return fnapp->value.fnapp.fn;
-}
-
-vec_t* fnapp_args(AST* fnapp)
-{
-    return &(fnapp->value.fnapp.args);
-}
-
-void fnapp_add_arg(AST* fnapp, AST* arg)
-{
-    vec_push_back(&(fnapp->value.fnapp.args), arg);
+    assert(let != NULL);
+    assert(let->type == AST_LET);
+    return let->value.let.value;
 }
 
index ab0f2df279298e48796cf760f124c95c48cf5149..37114109b7bd260086775c8e1ab1f268bca2618c 100644 (file)
@@ -84,7 +84,7 @@ static AST* const_definition(Parser* p) {
         expr = const_expression(p);
         expect(p, T_END);
 //    }
-    return Def(id, expr);
+    return Let(id, expr);
 }
 
 static AST* const_expression(Parser* p) {
@@ -154,6 +154,25 @@ static AST* identifier(Parser* p) {
     }
 }
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 #if 0
 static AST* definition(Parser* p) {
index 7a273c606265dd9a8f738afd3e808717298d1a37..0140b4a1b886bb5238a6848b11a08a4432d8d528 100644 (file)
@@ -1,9 +1,3 @@
-/**
-  @file prettyprint.c
-  @brief See header for details
-  $Revision$
-  $HeadURL$
-  */
 #include <sclpl.h>
 
 static void print_indent(FILE* file, int depth) {
@@ -95,7 +89,6 @@ static const char* tree_type_to_string(ASTType type) {
         case AST_INT:    return "T_INT";
         case AST_FLOAT:  return "T_FLOAT";
         case AST_BOOL:   return "T_BOOL";
-        case AST_TEMP:   return "$";
         default:         return "???";
     }
 }
@@ -110,7 +103,6 @@ static void pprint_literal(FILE* file, AST* tree, int depth)
         case AST_CHAR:   printf("%c",     char_value(tree));    break;
         case AST_INT:    printf("%ld",    integer_value(tree)); break;
         case AST_FLOAT:  printf("%lf",    float_value(tree));   break;
-        case AST_TEMP:   printf("%ld",    temp_value(tree));    break;
         case AST_BOOL:
             printf("%s", bool_value(tree) ? "true" : "false");
             break;
@@ -125,54 +117,9 @@ void pprint_tree(FILE* file, AST* tree, int depth)
     }
     print_indent(file, depth);
     switch (tree->type) {
-        case AST_REQ:
-            printf("(require \"%s\")", require_name(tree));
-            break;
-
-        case AST_DEF:
-            printf("(let %s ", def_name(tree));
-            pprint_tree(file, def_value(tree), depth);
-            printf(")");
-            break;
-
-        case AST_IF:
-            printf("(if ");
-            pprint_tree(file, ifexpr_cond(tree), depth);
-            printf(" ");
-            pprint_tree(file, ifexpr_then(tree), depth);
-            printf(" ");
-            pprint_tree(file, ifexpr_else(tree), depth);
-            printf(")");
-            break;
-
-        case AST_FUNC:
-            printf("(fn (");
-            for (size_t i = 0; i < vec_size(func_args(tree)); i++) {
-                printf(" ");
-                pprint_literal(file, vec_at(func_args(tree), i), depth);
-            }
-            printf(")");
-            pprint_tree(file, func_body(tree), depth);
-            printf(")");
-            break;
-
-        case AST_FNAPP:
-            printf("(");
-            pprint_tree(file, fnapp_fn(tree), depth);
-            for (size_t i = 0; i < vec_size(fnapp_args(tree)); i++) {
-                printf(" ");
-                pprint_tree(file, vec_at(fnapp_args(tree), i), depth);
-            }
-            printf(")");
-            break;
-
         case AST_LET:
-            printf("(let (");
-            pprint_tree(file, let_var(tree), depth);
-            printf(" ");
-            pprint_tree(file, let_val(tree), depth);
-            printf(") ");
-            pprint_tree(file, let_body(tree), depth);
+            printf("(let %s ", let_name(tree));
+            pprint_tree(file, let_value(tree), depth);
             printf(")");
             break;
 
index b0eee89b82fffeeee7e9fadd69e70f05b30d947c..c72b9fb539b9238d2c06117936a2337483d2ad58 100644 (file)
@@ -62,8 +62,7 @@ typedef struct {
 /* AST Types
  *****************************************************************************/
 typedef enum {
-    AST_STRING, AST_SYMBOL, AST_CHAR, AST_INT, AST_FLOAT, AST_BOOL, AST_IDENT,
-    AST_DEF, AST_IF, AST_FUNC, AST_FNAPP
+    AST_LET, AST_STRING, AST_SYMBOL, AST_CHAR, AST_INT, AST_FLOAT, AST_BOOL, AST_IDENT
 } ASTType;
 
 typedef struct AST {
@@ -74,23 +73,7 @@ typedef struct AST {
             char* name;
             struct AST* type;
             struct AST* value;
-        } def;
-        /* If Expression */
-        struct {
-            struct AST* cond;
-            struct AST* bthen;
-            struct AST* belse;
-        } ifexpr;
-        /* Function */
-        struct {
-            vec_t args;
-            struct AST* body;
-        } func;
-        /* Function Application */
-        struct {
-            struct AST* fn;
-            vec_t args;
-        } fnapp;
+        } let;
         /* String, Symbol, Identifier */
         char* text;
         /* Character */
@@ -133,32 +116,9 @@ AST* Ident(Tok* val);
 char* ident_value(AST* val);
 
 /* Definition */
-AST* Def(Tok* name, AST* value);
-char* def_name(AST* def);
-AST* def_value(AST* def);
-
-/* If Expression */
-AST* IfExpr(void);
-AST* ifexpr_cond(AST* ifexpr);
-void ifexpr_set_cond(AST* ifexpr, AST* cond);
-AST* ifexpr_then(AST* ifexpr);
-void ifexpr_set_then(AST* ifexpr, AST* bthen);
-AST* ifexpr_else(AST* ifexpr);
-void ifexpr_set_else(AST* ifexpr, AST* belse);
-
-/* Function */
-AST* Func(void);
-vec_t* func_args(AST* func);
-AST* func_body(AST* func);
-void func_add_arg(AST* func, AST* arg);
-void func_set_body(AST* func, AST* body);
-
-/* Function Application */
-AST* FnApp(AST* fn);
-AST* fnapp_fn(AST* fnapp);
-void fnapp_set_fn(AST* fnapp, AST* fn);
-vec_t* fnapp_args(AST* fnapp);
-void fnapp_add_arg(AST* func, AST* arg);
+AST* Let(Tok* name, AST* value);
+char* let_name(AST* let);
+AST* let_value(AST* let);
 
 /* Pretty Printing
  *****************************************************************************/