From 9db55b3d83a55a134510ae752eb0c6a828184092 Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Mon, 11 Jun 2018 11:42:04 -0700 Subject: [PATCH] update `repeat` tests --- brag/test/test-flatten.rkt | 16 ++++++++-------- brag/test/test-parser.rkt | 12 ++++++------ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/brag/test/test-flatten.rkt b/brag/test/test-flatten.rkt index 05aa751..ee2155f 100755 --- a/brag/test/test-flatten.rkt +++ b/brag/test/test-flatten.rkt @@ -95,23 +95,23 @@ ;; repeat (check-equal? (map syntax->datum - (flatten-rule #'(rule rule-2+ (repeat 0 (id rule-2))))) + (flatten-rule #'(rule rule-2+ (repeat 0 #f (id rule-2))))) '((prim-rule repeat rule-2+ [(inferred-id rule-2+ repeat) (id rule-2)] []))) (check-equal? (map syntax->datum - (flatten-rule #'(rule rule-2+ (repeat 0 (seq (lit "+") (id rule-2)))))) + (flatten-rule #'(rule rule-2+ (repeat 0 #f (seq (lit "+") (id rule-2)))))) '((prim-rule repeat rule-2+ [(inferred-id rule-2+ repeat) (lit "+") (id rule-2)] []))) (check-equal? (map syntax->datum - (flatten-rule #'(rule rule-2+ (repeat 1 (id rule-2))))) + (flatten-rule #'(rule rule-2+ (repeat 1 #f (id rule-2))))) '((prim-rule repeat rule-2+ [(inferred-id rule-2+ repeat) (id rule-2)] [(id rule-2)]))) (check-equal? (map syntax->datum - (flatten-rule #'(rule rule-2+ (repeat 1 (seq (lit "-") (id rule-2)))))) + (flatten-rule #'(rule rule-2+ (repeat 1 #f (seq (lit "-") (id rule-2)))))) '((prim-rule repeat rule-2+ [(inferred-id rule-2+ repeat) (lit "-") (id rule-2)] [(lit "-") (id rule-2)]))) @@ -137,7 +137,7 @@ ;; choice, maybe, repeat (check-equal? (map syntax->datum (flatten-rule #'(rule sexp (choice (lit "x") - (maybe (repeat 1 (lit "y"))))) + (maybe (repeat 1 #f (lit "y"))))) #:fresh-name (make-fresh-name))) '((prim-rule choice sexp [(lit "x")] @@ -172,7 +172,7 @@ ;; seq, repeat (check-equal? (map syntax->datum - (flatten-rule #'(rule expr (seq (id term) (repeat 0 (seq (lit "+") (id term))))) + (flatten-rule #'(rule expr (seq (id term) (repeat 0 #f (seq (lit "+") (id term))))) #:fresh-name (make-fresh-name))) '((prim-rule seq expr [(id term) (inferred-id r1 repeat)]) (inferred-prim-rule repeat r1 [(inferred-id r1 repeat) (lit "+") (id term)] []))) @@ -181,8 +181,8 @@ ;; larger example: simple arithmetic (check-equal? (map syntax->datum (flatten-rules (syntax->list - #'((rule expr (seq (id term) (repeat 0 (seq (lit "+") (id term))))) - (rule term (seq (id factor) (repeat 0 (seq (lit "*") (id factor))))) + #'((rule expr (seq (id term) (repeat 0 #f (seq (lit "+") (id term))))) + (rule term (seq (id factor) (repeat 0 #f (seq (lit "*") (id factor))))) (rule factor (token INT)))) #:fresh-name (make-fresh-name))) diff --git a/brag/test/test-parser.rkt b/brag/test/test-parser.rkt index 2b56e27..0038b5f 100755 --- a/brag/test/test-parser.rkt +++ b/brag/test/test-parser.rkt @@ -63,14 +63,14 @@ (list (rule (p 1) (p 16) (lhs-id (p 1) (p 5) "expr" #f) (pattern-repeat (p 8) (p 16) - 0 + 0 #f (pattern-lit (p 8) (p 15) "hello" #f))))) (check-equal? (grammar-parser (tokenize (open-input-string "expr : 'hello'+"))) (list (rule (p 1) (p 16) (lhs-id (p 1) (p 5) "expr" #f) (pattern-repeat (p 8) (p 16) - 1 + 1 #f (pattern-lit (p 8) (p 15) "hello" #f))))) (check-equal? (grammar-parser (tokenize (open-input-string "expr : [/'hello']"))) @@ -114,20 +114,20 @@ (list (rule (p 1) (p 22) (lhs-id (p 1) (p 5) "expr" #f) (pattern-seq (p 8) (p 22) (list (pattern-id (p 8) (p 11) "one" #f) - (pattern-repeat (p 12) (p 16) 0 (pattern-id (p 12) (p 15) "two" #f)) + (pattern-repeat (p 12) (p 16) 0 #f (pattern-id (p 12) (p 15) "two" #f)) (pattern-id (p 17) (p 22) "three" #f)))))) (check-equal? (grammar-parser (tokenize (open-input-string "expr : one two+ three"))) (list (rule (p 1) (p 22) (lhs-id (p 1) (p 5) "expr" #f) (pattern-seq (p 8) (p 22) (list (pattern-id (p 8) (p 11) "one" #f) - (pattern-repeat (p 12) (p 16) 1 (pattern-id (p 12) (p 15) "two" #f)) + (pattern-repeat (p 12) (p 16) 1 #f (pattern-id (p 12) (p 15) "two" #f)) (pattern-id (p 17) (p 22) "three" #f)))))) (check-equal? (grammar-parser (tokenize (open-input-string "expr : (one two)+ three"))) (list (rule (p 1) (p 24) (lhs-id (p 1) (p 5) "expr" #f) - (pattern-seq (p 8) (p 24) (list (pattern-repeat (p 8) (p 18) 1 + (pattern-seq (p 8) (p 24) (list (pattern-repeat (p 8) (p 18) 1 #f (pattern-seq (p 8) (p 17) (list (pattern-id (p 9) (p 12) "one" #f) (pattern-id (p 13) (p 16) "two" #f)))) @@ -142,7 +142,7 @@ EOF ))) (list (rule (p 1) (p 17) (lhs-id (p 1) (p 9) "statlist" #f) - (pattern-repeat (p 12) (p 17) 1 (pattern-id (p 12) (p 16) "stat" #f))) + (pattern-repeat (p 12) (p 17) 1 #f (pattern-id (p 12) (p 16) "stat" #f))) (rule (p 18) (p 54) (lhs-id (p 18) (p 22) "stat" #f) (pattern-choice (p 24) (p 54) (list (pattern-seq (p 24) (p 35) (list (pattern-token (p 24) (p 26) "ID" #f)