diff --git a/collects/parser-tools/private-yacc/parser-builder.ss b/collects/parser-tools/private-yacc/parser-builder.ss index 0201979..e411ec0 100644 --- a/collects/parser-tools/private-yacc/parser-builder.ss +++ b/collects/parser-tools/private-yacc/parser-builder.ss @@ -29,9 +29,11 @@ (map syntax->list (syntax->list (syntax (((bound ...) ...) ...))))))))) (terms (get-term-list terms)) - (precs (syntax-case precs () - ((_ (__ term ...) ...) - (apply append (map syntax->list (syntax->list (syntax ((term ...) ...))))))))) + (precs (if precs + (syntax-case precs () + ((_ (__ term ...) ...) + (apply append (map syntax->list (syntax->list (syntax ((term ...) ...))))))) + null))) `(if #f (let ,(map (lambda (bind) `(,(strip bind) void)) (append terms binds))