diff options
Diffstat (limited to 'module/language/lua')
-rw-r--r-- | module/language/lua/common.scm | 13 | ||||
-rw-r--r-- | module/language/lua/compile-tree-il.scm | 2 | ||||
-rw-r--r-- | module/language/lua/lexer.scm | 2 | ||||
-rw-r--r-- | module/language/lua/parser.scm | 8 | ||||
-rw-r--r-- | module/language/lua/runtime.scm | 2 |
5 files changed, 8 insertions, 19 deletions
diff --git a/module/language/lua/common.scm b/module/language/lua/common.scm index 16b5af2c8..d30a9b7c0 100644 --- a/module/language/lua/common.scm +++ b/module/language/lua/common.scm @@ -19,22 +19,11 @@ ;;; Code: (define-module (language lua common) - #:use-module (ice-9 format) - - #:export (syntax-error or-eqv?)) + #:export (syntax-error)) (define (syntax-error src string . args) "Throw an error tagged with 'syntax-error, and print detailed source code information when available. STRING and ARGS are given to FORMAT." (throw 'syntax-error #f (apply format #f string args) src #f #f '())) - -;; I was using CASE, but this is more succinct -;; (or-eqv? 1 #f 1) => (or (eqv? 1 #f) (eqv? 1 1)) -(define-syntax or-eqv? - (syntax-rules () - ((_ test '(value ...)) - (or (eqv? test 'value) ...)) - ((_ test value ...) - (or (eqv? test value) ...)))) diff --git a/module/language/lua/compile-tree-il.scm b/module/language/lua/compile-tree-il.scm index 9999797ac..41f86e5a6 100644 --- a/module/language/lua/compile-tree-il.scm +++ b/module/language/lua/compile-tree-il.scm @@ -201,7 +201,7 @@ ;; so you can't use break inside of a function inside a while loop ;; for instance ((ast-break src) - (unless (or-eqv? (context) 'while-loop 'list-for-loop 'numeric-for-loop) + (unless (memq (context) '(while-loop list-for-loop numeric-for-loop)) (syntax-error src "no loop to break")) (make-application src (make-module-ref src '(guile) 'throw #t) (list (make-const src 'lua-break))) ) diff --git a/module/language/lua/lexer.scm b/module/language/lua/lexer.scm index 63c4ffac0..d83b69ec4 100644 --- a/module/language/lua/lexer.scm +++ b/module/language/lua/lexer.scm @@ -58,7 +58,7 @@ (define (possible-keyword token) "Convert a symbol to a keyword if it is a reserved word in Lua" - (if (or-eqv? token '(return function end if then elseif else true false nil or and do while repeat until local for break in not)) + (if (memq token '(return function end if then elseif else true false nil or and do while repeat until local for break in not)) (symbol->keyword token) token)) diff --git a/module/language/lua/parser.scm b/module/language/lua/parser.scm index 70a1f7a8a..94e2a7895 100644 --- a/module/language/lua/parser.scm +++ b/module/language/lua/parser.scm @@ -121,7 +121,7 @@ (define (end-of-chunk? token) "Returns true if TOKEN denotes the end of a grammatical chunk." - (or (or-eqv? token #:else #:elseif #:end #:until) (eof-object? token))) + (or (memq token '(#:else #:elseif #:end #:until)) (eof-object? token))) (define (token/type t) (cond ((number? t) 'NUMBER) @@ -138,11 +138,11 @@ ;; infix operator parsing (define (binary-operator? t) "Return #t if the token may be a binary operator" - (or-eqv? t #\+ #\* #\/ #\- #\^ #\< #\> #:== #:~= #:and #:or #:concat)) + (memv t '(#\+ #\* #\/ #\- #\^ #\< #\> #:== #:~= #:and #:or #:concat))) (define (unary-operator? t) "Return #t if the token may be a unary operator" - (or-eqv? t #\- #\# #:not)) + (memv t '(#\- #\# #:not))) ;; Operator precedence (define *unary-priority* 80) @@ -817,7 +817,7 @@ (lookahead!) (if (eq? token2 #:=) (numeric-for src name) - (if (or-eqv? token2 #:in #\,) + (if (memv token2 '(#:in #\,)) (list-for src name) (syntax-error src "expected = or in after for variable")))))) result)) diff --git a/module/language/lua/runtime.scm b/module/language/lua/runtime.scm index 6cf30d335..8bf7e3da9 100644 --- a/module/language/lua/runtime.scm +++ b/module/language/lua/runtime.scm @@ -500,7 +500,7 @@ (lambda* (e #:optional (base 10)) (cond ((number? e) e) ((string? e) - (unless (or-eqv? base 2 8 10 16) + (unless (memv base '(2 8 10 16)) (runtime-warning "tonumber cannot respect bases other than 2, 8, 10, and 16")) (string->number e base)) (else #nil)))) |