Combinator parser change to add new signature form

htdp/testing change so that generate-report does something 

svn: r9382
This commit is contained in:
Kathy Gray 2008-04-21 13:31:50 +00:00
parent 8a1e72223f
commit ed478254e2
4 changed files with 16 additions and 5 deletions

View File

@ -6,6 +6,6 @@
(provide combinator-parser-tools@ (provide combinator-parser-tools@
combinator-parser^ err^ combinator-parser^ err^
error-format-parameters^ language-format-parameters^ language-dictionary^ error-format-parameters^ language-format-parameters^ language-dictionary^
terminals) terminals recurs)
) )

View File

@ -18,6 +18,16 @@
(format "token-~a" (syntax-e e))))) (format "token-~a" (syntax-e e)))))
(syntax->list #'(elt ...)))))])) (syntax->list #'(elt ...)))))]))
(define-signature-form (recurs stx)
(syntax-case stx ()
[(_ id ...)
(andmap identifier? (syntax->list #'(id ...)))
(syntax->list #`(id ...
#,@(map (lambda (e) #`(define-syntaxes
(#,(datum->syntax e (string->symbol (format "~a@" (syntax-e e)))))
(values (syntax-id-rules () [_ #'(eta #,e)]))))
(syntax->list #'(id ...)))))]))
(define-signature language-dictionary^ (misspelled misscap missclass)) (define-signature language-dictionary^ (misspelled misscap missclass))
(define-signature combinator-parser-forms^ (define-signature combinator-parser-forms^

View File

@ -2,7 +2,7 @@
(require test-engine/scheme-tests) (require test-engine/scheme-tests)
(define (generate-report) (void)) (define (generate-report) (test)#;(void))
(provide (all-from-out test-engine/scheme-tests) (provide (all-from-out test-engine/scheme-tests)
generate-report) generate-report)

View File

@ -2,11 +2,12 @@
(require parser-tools/lex (require parser-tools/lex
scheme/unit scheme/unit
(lib "combinator-unit.ss" "combinator-parser") combinator-parser/combinator-unit
#;(lib "combinator-unit.ss" "combinator-parser")
"java-signatures.scm" "java-signatures.scm"
mzlib/string) mzlib/string)
(define-signature language-forms^ (program statement expression field interact)) ;value-type method-type)) (define-signature language-forms^ (program statement (recurs expression) field interact)) ;value-type method-type))
(define-signature token-proc^ (old-tokens->new)) (define-signature token-proc^ (old-tokens->new))
@ -329,7 +330,7 @@
(define new-class (define new-class
(choose ((sequence (new name O_PAREN C_PAREN) id) (choose ((sequence (new name O_PAREN C_PAREN) id)
(sequence (new name O_PAREN (comma-sep (eta expression) "arguments") C_PAREN) id)) (sequence (new name O_PAREN (comma-sep expression@ "arguments") C_PAREN) id))
"class instantiation")) "class instantiation"))
(define (new-array type-name) (define (new-array type-name)