diff --git a/collects/parser-tools/private-yacc/input-file-parser.ss b/collects/parser-tools/private-yacc/input-file-parser.ss index 388ac62..f0ecdaa 100644 --- a/collects/parser-tools/private-yacc/input-file-parser.ss +++ b/collects/parser-tools/private-yacc/input-file-parser.ss @@ -152,8 +152,7 @@ (syntax-case prec-decls () (((type term ...) ...) (let ((p-terms - (apply append (syntax-object->datum - (syntax ((term ...) ...)))))) + (syntax-object->datum (syntax (term ... ...))))) (cond ((duplicate-list? p-terms) => (lambda (d) @@ -186,7 +185,7 @@ "Associativity must be left, right or nonassoc" type))) (syntax->list (syntax (type ...)))) - (cdr (syntax-object->datum prec-decls)))))) + (syntax-object->datum prec-decls))))) (#f null) (_ (raise-syntax-error diff --git a/collects/parser-tools/private-yacc/parser-builder.ss b/collects/parser-tools/private-yacc/parser-builder.ss index 4d90ac6..64aa379 100644 --- a/collects/parser-tools/private-yacc/parser-builder.ss +++ b/collects/parser-tools/private-yacc/parser-builder.ss @@ -62,12 +62,12 @@ (if assocs (map get-term-binder (syntax-case assocs () - ((_ (__ term ...) ...) + (((__ term ...) ...) (syntax->list (syntax (term ... ...)))))) null))) #`(when #f (let ((bind void) ...) - (void ))))));bound ... ... term-group ... start ... end ... prec ...)))))) + (void bound ... ... term-group ... start ... end ... prec ...)))))) (define (build-parser filename src-pos suppress input-terms start end assocs prods) (let* ((grammar (parse-input input-terms start end assocs prods src-pos))