diff options
author | bd <bdunahu@operationnull.com> | 2025-04-03 03:17:45 -0400 |
---|---|---|
committer | bd <bdunahu@operationnull.com> | 2025-04-03 03:17:45 -0400 |
commit | 14d6dd6f18ef8a94da7def84b4c8eb39a37e309c (patch) | |
tree | 7d206e82418e5221872a099f46263a02e785e33a /t | |
parent | 4d8ffb6a29285f12d9ebd788727d633550510d7f (diff) |
Allow lexing of immediates in different bases
Diffstat (limited to 't')
-rw-r--r-- | t/lex.lisp | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -52,12 +52,31 @@ (read-this "123456789" (is (= (lex:read-token) 123456789)))) +(test read-token-immediate-binary + (read-this "0b00101010" + (is (= (lex:read-token) 42)))) + +(test read-token-immediate-octal + (read-this "0o052" + (is (= (lex:read-token) 42)))) + +(test read-token-immediate-hexadecimal + (read-this "0x200" + (is (= (lex:read-token) 512)))) + (test read-token-immediate-invalid-immediate (handler-case (progn (read-this "0v0" (lex:read-token)) (fail)) (lex:invalid-immediate-or-keyword ()))) +;; do we want a custom error for this too? +(test read-token-immediate-radix + (handler-case + (progn (read-this "0x" (lex:read-token)) + (fail)) + (sb-int:simple-parse-error ()))) + (test read-token-keyword-single (read-this "a" (is (string= (lex:read-token) "a")))) |