upgrade to #lang scheme

svn: r15345
This commit is contained in:
Jon Rafkind 2009-06-30 21:05:16 +00:00
parent 3d356123cf
commit b55944bb93
2 changed files with 151 additions and 151 deletions

View File

@ -1,36 +1,36 @@
(module contexts mzscheme
#lang scheme
(define-struct block-context (return?))
(define-struct (top-block-context block-context) ())
(define-struct (expression-block-context block-context) ())
(define-struct block-context (return?))
(define-struct (top-block-context block-context) ())
(define-struct (expression-block-context block-context) ())
(define-struct definition-context ())
(define-struct (function-definition-context definition-context) ())
(define-struct (value-definition-context definition-context) ())
(define-struct (constant-definition-context value-definition-context) ())
(define-struct (variable-definition-context value-definition-context) ())
(define-struct definition-context ())
(define-struct (function-definition-context definition-context) ())
(define-struct (value-definition-context definition-context) ())
(define-struct (constant-definition-context value-definition-context) ())
(define-struct (variable-definition-context value-definition-context) ())
(define-struct expression-context ())
(define-struct type-context ())
(define-struct type-or-expression-context ())
(define-struct prototype-context ())
(define-struct expression-context ())
(define-struct type-context ())
(define-struct type-or-expression-context ())
(define-struct prototype-context ())
(define the-block-context (make-block-context #f))
(define the-top-block-context (make-top-block-context #f))
(define the-expression-block-context (make-expression-block-context #f))
(define the-return-block-context (make-block-context #t))
(define the-expression-return-block-context (make-expression-block-context #t))
(define the-block-context (make-block-context #f))
(define the-top-block-context (make-top-block-context #f))
(define the-expression-block-context (make-expression-block-context #f))
(define the-return-block-context (make-block-context #t))
(define the-expression-return-block-context (make-expression-block-context #t))
(define the-variable-definition-context (make-variable-definition-context))
(define the-constant-definition-context (make-constant-definition-context))
(define the-function-definition-context (make-function-definition-context))
(define the-variable-definition-context (make-variable-definition-context))
(define the-constant-definition-context (make-constant-definition-context))
(define the-function-definition-context (make-function-definition-context))
(define the-expression-context (make-expression-context))
(define the-type-context (make-type-context))
(define the-type-or-expression-context (make-type-or-expression-context))
(define the-prototype-context (make-prototype-context))
(define the-expression-context (make-expression-context))
(define the-type-context (make-type-context))
(define the-type-or-expression-context (make-type-or-expression-context))
(define the-prototype-context (make-prototype-context))
(define (context->name ctx)
(define (context->name ctx)
(cond
[(type-context? ctx) "a type"]
[(type-or-expression-context? ctx) "a type or expression"]
@ -43,7 +43,7 @@
[(prototype-context? ctx) "a function-definition"]
[else "an expression"]))
(provide block-context?
(provide block-context?
expression-block-context?
top-block-context?
@ -76,4 +76,4 @@
the-type-or-expression-context
the-prototype-context
context->name))
context->name)

View File

@ -1,33 +1,33 @@
#lang scheme
(module ops mzscheme
(provide unary-prefix-ops
unary-postfix-ops
(struct op (id))
(struct prefix ())
(struct cast-prefix (type))
(struct infix ())
(struct postfix ())
(struct-out op)
(struct-out prefix)
(struct-out cast-prefix)
(struct-out infix)
(struct-out postfix)
prec-key
precedence-table
op-table)
(define unary-prefix-ops '(++
(define unary-prefix-ops '(++
--
+
-
!
~))
(define unary-postfix-ops '(++
(define unary-postfix-ops '(++
--))
(define-struct op (id))
(define-struct (prefix op) ())
(define-struct (cast-prefix prefix) (type))
(define-struct (infix op) ())
(define-struct (postfix op) ())
(define-struct op (id))
(define-struct (prefix op) ())
(define-struct (cast-prefix prefix) (type))
(define-struct (infix op) ())
(define-struct (postfix op) ())
(define (prec-key op)
(define (prec-key op)
(and op
(cons (cond
[(prefix? op) 'pre]
@ -35,7 +35,7 @@
[(postfix? op) 'post])
(syntax-e (op-id op)))))
(define precedence-table (make-immutable-hash-table
(define precedence-table (make-immutable-hash
'(((in . |.|) . 100)
((in . #%parens) . 100)
((in . #%brackets) . 100)
@ -82,10 +82,10 @@
((in . >>>=) . 10)
((in . \,) . 6)
((in . :) . 5)
((in . ?) . 4))
'equal))
((in . ?) . 4))))
(define op-table (make-hash-table))
(hash-table-for-each precedence-table (lambda (k v)
(hash-table-put! op-table (cdr k) #t))))
(define op-table (make-hash))
(hash-for-each precedence-table (lambda (k v)
(hash-set! op-table (cdr k) #t)))