blob: ab1b3e7c95ed25f4251132a4cbc913b0d258b42f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
(define-module (c operators)
:export (wordy-binary-operators
symbol-binary-operators
binary-operators))
;;; Simple operators are those which can be combined with '='
(define simple-operators
`(+ - * / & ,(symbol #\|) ^ << >> % < > =))
;; apparently part of C
(define wordy-binary-operators
'(bitand and_eq and bitor or_eq or xor_eq xor))
(define symbol-binary-operators
(append (map (lambda (x) (symbol-append x '=)) simple-operators)
`(&& ,(symbol #\| #\|) != ,(symbol #\,)
-> ,(symbol #\.))
simple-operators))
(define binary-operators
(append symbol-binary-operators
wordy-binary-operators))
|