From 8e8a26c016f83521aab29f2d94545fe2fd1fb5d9 Mon Sep 17 00:00:00 2001 From: Danny Yoo Date: Wed, 9 Feb 2011 17:45:09 -0500 Subject: [PATCH] moving structure definitions from assemble into structs. --- assemble.rkt | 23 ----------------------- structs.rkt | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 23 deletions(-) diff --git a/assemble.rkt b/assemble.rkt index 1fd05a4..6b7c2a1 100644 --- a/assemble.rkt +++ b/assemble.rkt @@ -7,7 +7,6 @@ -(define-struct basic-block (name stmts) #:transparent) ;; fracture: (listof stmt) -> (listof basic-block) @@ -192,28 +191,6 @@ (string-join (map assemble-stmt (basic-block-stmts a-basic-block)) "\n"))) -(define (location? stmt) - (or (tagged-list? stmt 'reg) - (tagged-list? stmt 'label))) - -(define (const? stmt) - (tagged-list? stmt 'const)) - -(define (reg? s) - (tagged-list? s 'reg)) - -(define (label? s) - (tagged-list? s 'label)) - -(define (label-name a-label) - (cadr a-label)) - - -(define (op? s) - (tagged-list? s 'op)) - -(define (op-name s) - (cadr s)) ;; assemble-stmt: stmt -> string (define (assemble-stmt stmt) diff --git a/structs.rkt b/structs.rkt index 22db048..eead444 100644 --- a/structs.rkt +++ b/structs.rkt @@ -91,3 +91,38 @@ (if (symbol? s) '() (instruction-sequence-modifies s))) (define (statements s) (if (symbol? s) (list s) (instruction-sequence-statements s))) + + + + +;; Statements +(define (location? stmt) + (or (tagged-list? stmt 'reg) + (tagged-list? stmt 'label))) + +(define (const? stmt) + (tagged-list? stmt 'const)) + +(define (reg? s) + (tagged-list? s 'reg)) + +(define (label? s) + (tagged-list? s 'label)) + +(define (label-name a-label) + (cadr a-label)) + +(define (op? s) + (tagged-list? s 'op)) + +(define (op-name s) + (cadr s)) + + + + + + + +;; Basic blocks +(define-struct basic-block (name stmts) #:transparent)