Permalink
Browse files

genturfahi mex test: Move nunjavni-lerfu rules into the main grammar.

This shortens the code and keeps the parser generator in a single
letrec.

git-svn-id: https://code.call-cc.org/svn/chicken-eggs/release/4/genturfahi/trunk@21284 fca3e652-9b03-0410-8d7b-ac86a6ce46c4
  • Loading branch information...
1 parent 7cf4a28 commit eeffe110b2a40a45adb49901e37b14268f0af835 alanpost committed Nov 4, 2010
Showing with 14 additions and 29 deletions.
  1. +14 −29 tests/mex.scm
View
@@ -26,62 +26,47 @@
;;; It is here ported to genturfa'i.
;;;
(define (mex)
- (set! javni-lerfu-0 (nunjavni-lerfu #\0))
- (set! javni-lerfu-1 (nunjavni-lerfu #\1))
- (set! javni-lerfu-2 (nunjavni-lerfu #\2))
- (set! javni-lerfu-3 (nunjavni-lerfu #\3))
- (set! javni-lerfu-4 (nunjavni-lerfu #\4))
- (set! javni-lerfu-5 (nunjavni-lerfu #\5))
- (set! javni-lerfu-6 (nunjavni-lerfu #\6))
- (set! javni-lerfu-7 (nunjavni-lerfu #\7))
- (set! javni-lerfu-8 (nunjavni-lerfu #\8))
- (set! javni-lerfu-9 (nunjavni-lerfu #\9))
- (set! javni-lerfu-+ (nunjavni-lerfu #\+))
- (set! javni-lerfu-* (nunjavni-lerfu #\*))
- (set! javni-lerfu-lparen (nunjavni-lerfu #\())
- (set! javni-lerfu-rparen (nunjavni-lerfu #\)))
-
(let ((mex
(letrec
((expr (nunjavni-morji
(nunjavni-jonai
(nunjavni-samselpla (+ a b)
(nunjavni-je
(nunjavni-cmene a (nunjavni-naselci mulexp))
- javni-lerfu-+
+ (nunjavni-lerfu #\+)
(nunjavni-cmene b (nunjavni-naselci mulexp))))
(nunjavni-naselci mulexp))))
(mulexp (nunjavni-morji
(nunjavni-jonai
(nunjavni-samselpla (* a b)
(nunjavni-je
(nunjavni-cmene a (nunjavni-naselci simple))
- javni-lerfu-*
+ (nunjavni-lerfu #\*)
(nunjavni-cmene b (nunjavni-naselci simple))))
(nunjavni-naselci simple))))
(simple (nunjavni-morji
(nunjavni-jonai
(nunjavni-naselci num)
(nunjavni-samselpla a
(nunjavni-je
- javni-lerfu-lparen
+ (nunjavni-lerfu #\()
(nunjavni-cmene a (nunjavni-naselci expr))
- javni-lerfu-rparen)))))
+ (nunjavni-lerfu #\)))))))
(num (nunjavni-morji
(nunjavni-samselpla (string->number (list->string a))
(nunjavni-cmene a (nunjavni-+ (nunjavni-naselci digit))))))
(digit (nunjavni-morji
(nunjavni-jonai
- javni-lerfu-0
- javni-lerfu-1
- javni-lerfu-2
- javni-lerfu-3
- javni-lerfu-4
- javni-lerfu-5
- javni-lerfu-6
- javni-lerfu-7
- javni-lerfu-8
- javni-lerfu-9))))
+ (nunjavni-lerfu #\0)
+ (nunjavni-lerfu #\1)
+ (nunjavni-lerfu #\2)
+ (nunjavni-lerfu #\3)
+ (nunjavni-lerfu #\4)
+ (nunjavni-lerfu #\5)
+ (nunjavni-lerfu #\6)
+ (nunjavni-lerfu #\7)
+ (nunjavni-lerfu #\8)
+ (nunjavni-lerfu #\9)))))
(genturfahi expr))))
(test 2 (mex "2"))

0 comments on commit eeffe11

Please sign in to comment.