All pastes #635545 Raw Edit

scheme

public text v1 · immutable
#635545 ·published 2007-07-27 04:53 UTC
rendered paste body
(define (parse-structure s-expr)
    (check-list "structure" s-expr = 4)
    (let ([name (cadr s-expr)]
          [c-name (caddr s-expr)]
          [f* (cadddr s-expr)]
          [a 5]
          )
      (check-name "struct name" s-expr name)
      (check-string "struct c-name" s-expr c-name)
      (map (lambda (f)
              (check-list "struct field" f = 3)
              (check-name "struct field name" s-expr (car f))
              (check-string "struct field c-name" s-expr (cadr f))
              (check-name "struct field type" s-expr (caddr f)))
           f*)
      (display "\nStructure\n")
      ;(display name)
      ;(display c-name)
      ;(display f*)
      ;(format "~name" name)
      ;(display (format "hello ~a\n" a))
      ;(display (format "hello ~a" a))(newline)
      ;(let ((file (open-output-file "some-file"))) (display (format "hello ~a\n" a) file))
      (display name)
      (display (format "name ~name\n" name))


      (make-qa0-struct name c-name (map car f*) (map caddr f*) (map cadr f*))))