summaryrefslogtreecommitdiff
path: root/module/language/lua
diff options
context:
space:
mode:
Diffstat (limited to 'module/language/lua')
-rw-r--r--module/language/lua/common.scm13
-rw-r--r--module/language/lua/compile-tree-il.scm2
-rw-r--r--module/language/lua/lexer.scm2
-rw-r--r--module/language/lua/parser.scm8
-rw-r--r--module/language/lua/runtime.scm2
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))))