- Timestamp:
- 05/30/20 21:59:29 (8 months ago)
- Location:
- release/5/slib-prec/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
release/5/slib-prec/trunk/slib-prec-parse.scm
r38717 r38718 31 31 prec:prefix 32 32 prec:infix 33 prec:infixr34 33 prec:nary 35 34 prec:postfix … … 118 117 ;; 119 118 120 (define (prec:infixr tk sop lbp . binds)121 (let* (122 (bp (and (not (null? binds)) (number? (car binds)) (car binds)))123 (binds (if bp (cdr binds) binds))124 (bp (or bp (max 0 (- lbp 1)))) )125 (apply prec:infix tk sop lbp bp binds) ) )126 127 ;;128 129 119 (define (make-grammar src #!optional (base '())) 130 120 (let* ( -
release/5/slib-prec/trunk/slib-standard-grammar.scm
r38716 r38718 79 79 80 80 ;;;prefix operators 81 (prec:define-grammar (prec:prefix '+ #f 100)) 82 (prec:define-grammar (prec:prefix '- 'negate 100)) 83 (prec:define-grammar (prec:prefix "+/-" 'u+/- 100)) 84 (prec:define-grammar (prec:prefix "-/+" 'u-/+ 100)) 81 (prec:define-grammar (prec:prefix '+ #f 150)) 82 (prec:define-grammar (prec:prefix '- 'negate 150)) 83 (prec:define-grammar (prec:prefix "+/-" 'u+/- 150)) 84 (prec:define-grammar (prec:prefix "-/+" 'u-/+ 150)) 85 85 86 (prec:define-grammar (prec:prefix '(not ~) 'impl:not 70)) 87 86 88 (prec:define-grammar (prec:prefix ":" 'settemplate! 20)) 87 89 88 90 ;;;nary operators 89 91 (prec:define-grammar (prec:nary '* '* 120)) 92 (prec:define-grammar (prec:nary '/ '/ 120)) 90 93 (prec:define-grammar (prec:nary '+ '+ 100)) 91 94 (prec:define-grammar (prec:nary '- '- 100)) 92 95 (prec:define-grammar (prec:nary "+/-" 'b+/- 100)) 93 96 (prec:define-grammar (prec:nary "-/+" 'b-/+ 100)) 94 (prec:define-grammar (prec:nary '/ '/ 120)) 97 95 98 (prec:define-grammar (prec:nary '(and #\&) '& 60)) 96 99 (prec:define-grammar (prec:nary 'or 'or 50)) … … 101 104 (prec:define-grammar (prec:infix #\. 'ncmult 110 109)) 102 105 (prec:define-grammar (prec:infix '(^ **) '^ 140 139)) 103 ;(prec:define-grammar (prec:infixr #\. 'ncmult 110)) 104 ;(prec:define-grammar (prec:infix '(^ **) '^ 140)) 106 105 107 (prec:define-grammar (prec:infix '^^ '^^ 210 210)) 108 106 109 (prec:define-grammar (prec:infix '(":=" ":") 'define 180 20)) 110 107 111 (prec:define-grammar (prec:infix '= '= 80 80)) 108 112 ;(prec:define-grammar (prec:infix '(~= <>) 'make-not-equal 80 80)) 113 109 114 (prec:define-grammar (prec:infix 'mod 'mod 70 70)) 115 110 116 (prec:define-grammar (prec:infix ':: 'suchthat 190 40)) 111 117 (prec:define-grammar (prec:infix "|" 'suchthat 190 40))
Note: See TracChangeset
for help on using the changeset viewer.