--- /dev/null
+;;; test-lr-basics-03.scm --
+;;
+;;A grammar that accepts fixed sequences of a single terminal or the
+;;EOI.
+
+(load "common-test.scm")
+
+(define (doit . tokens)
+ (let ((parser (lalr-parser (expect: 0)
+ (A)
+ (e (A) : (list $1)
+ (A A) : (list $1 $2)
+ (A A A) : (list $1 $2 $3)
+ () : 0))))
+ (parser (make-lexer tokens) error-handler)))
+
+(check
+ (doit (make-lexical-token 'A #f 1))
+ => '(1))
+
+(check
+ (doit (make-lexical-token 'A #f 1)
+ (make-lexical-token 'A #f 2))
+ => '(1 2))
+
+(check
+ (doit (make-lexical-token 'A #f 1)
+ (make-lexical-token 'A #f 2)
+ (make-lexical-token 'A #f 3))
+ => '(1 2 3))
+
+(check
+ (doit)
+ => 0)
+
+;;; end of file