(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*))))