aboutsummaryrefslogtreecommitdiff
path: root/src/algebra
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2010-06-01 03:06:34 +0000
committerdos-reis <gdr@axiomatics.org>2010-06-01 03:06:34 +0000
commit39f3846ba6690deb71bb26630fbd655fabf36ebd (patch)
tree1a106f8e6c9e56ee1c7127426bfbb7c38f2aafaa /src/algebra
parent5b0462a5f0b499c2c3177e36e52b476875141969 (diff)
downloadopen-axiom-39f3846ba6690deb71bb26630fbd655fabf36ebd.tar.gz
Adjust opcode for character support
Diffstat (limited to 'src/algebra')
-rw-r--r--src/algebra/strap/CHAR.lsp14
-rw-r--r--src/algebra/string.spad.pamphlet27
2 files changed, 22 insertions, 19 deletions
diff --git a/src/algebra/strap/CHAR.lsp b/src/algebra/strap/CHAR.lsp
index 95bc03af..ad61a999 100644
--- a/src/algebra/strap/CHAR.lsp
+++ b/src/algebra/strap/CHAR.lsp
@@ -4,27 +4,27 @@
(DECLAIM (FTYPE (FUNCTION (|%Char| |%Char| |%Shell|) |%Boolean|)
|CHAR;=;2$B;1|))
-(PUT '|CHAR;=;2$B;1| '|SPADreplace| 'CHAR=)
+(PUT '|CHAR;=;2$B;1| '|SPADreplace| '|%ceq|)
(DECLAIM (FTYPE (FUNCTION (|%Char| |%Char| |%Shell|) |%Boolean|)
|CHAR;<;2$B;2|))
-(PUT '|CHAR;<;2$B;2| '|SPADreplace| 'CHAR<)
+(PUT '|CHAR;<;2$B;2| '|SPADreplace| '|%clt|)
(DECLAIM (FTYPE (FUNCTION (|%Char| |%Char| |%Shell|) |%Boolean|)
|CHAR;>;2$B;3|))
-(PUT '|CHAR;>;2$B;3| '|SPADreplace| 'CHAR>)
+(PUT '|CHAR;>;2$B;3| '|SPADreplace| '|%cgt|)
(DECLAIM (FTYPE (FUNCTION (|%Char| |%Char| |%Shell|) |%Boolean|)
|CHAR;<=;2$B;4|))
-(PUT '|CHAR;<=;2$B;4| '|SPADreplace| 'CHAR<=)
+(PUT '|CHAR;<=;2$B;4| '|SPADreplace| '|%cle|)
(DECLAIM (FTYPE (FUNCTION (|%Char| |%Char| |%Shell|) |%Boolean|)
|CHAR;>=;2$B;5|))
-(PUT '|CHAR;>=;2$B;5| '|SPADreplace| 'CHAR>=)
+(PUT '|CHAR;>=;2$B;5| '|SPADreplace| '|%cge|)
(DECLAIM (FTYPE (FUNCTION (|%Shell|) (|%IntegerSection| 0))
|CHAR;size;Nni;6|))
@@ -40,12 +40,12 @@
(DECLAIM (FTYPE (FUNCTION ((|%IntegerSection| 0) |%Shell|) |%Char|)
|CHAR;char;Nni$;9|))
-(PUT '|CHAR;char;Nni$;9| '|SPADreplace| 'CODE-CHAR)
+(PUT '|CHAR;char;Nni$;9| '|SPADreplace| '|%i2c|)
(DECLAIM (FTYPE (FUNCTION (|%Char| |%Shell|) (|%IntegerSection| 0))
|CHAR;ord;$Nni;10|))
-(PUT '|CHAR;ord;$Nni;10| '|SPADreplace| 'CHAR-CODE)
+(PUT '|CHAR;ord;$Nni;10| '|SPADreplace| '|%c2i|)
(DECLAIM (FTYPE (FUNCTION (|%Shell|) |%Char|) |CHAR;random;$;11|))
diff --git a/src/algebra/string.spad.pamphlet b/src/algebra/string.spad.pamphlet
index 6e1d39a9..ebec0fa2 100644
--- a/src/algebra/string.spad.pamphlet
+++ b/src/algebra/string.spad.pamphlet
@@ -75,21 +75,24 @@ Character: OrderedFinite() with
CC ==> CharacterClass()
NNI ==> NonNegativeInteger
import CC
-
- --cl: Record(dig:CC,hex:CC,upp:CC,low:CC,alpha:CC,alnum:CC) :=
- -- [ digit(), hexDigit(),
- -- upperCase(), lowerCase(), alphabetic(), alphanumeric() ]
-
- a = b == CHAR_=(a,b)$Lisp
- a < b == CHAR_<(a,b)$Lisp
- a > b == CHAR_>(a,b)$Lisp
- a <= b == CHAR_<_=(a,b)$Lisp
- a >= b == CHAR_>_=(a,b)$Lisp
+ import %ceq: (%,%) -> Boolean from Foreign Builtin
+ import %clt: (%,%) -> Boolean from Foreign Builtin
+ import %cle: (%,%) -> Boolean from Foreign Builtin
+ import %cgt: (%,%) -> Boolean from Foreign Builtin
+ import %cge: (%,%) -> Boolean from Foreign Builtin
+ import %c2i: % -> NNI from Foreign Builtin
+ import %i2c: NNI -> % from Foreign Builtin
+
+ a = b == %ceq(a,b)
+ a < b == %clt(a,b)
+ a > b == %cgt(a,b)
+ a <= b == %cle(a,b)
+ a >= b == %cge(a,b)
size() == 256
index n == char((n - 1)::NNI)
lookup c == (1 + ord c)::PositiveInteger
- char(n: NNI) == CODE_-CHAR(n)$Lisp
- ord c == CHAR_-CODE(c)$Lisp
+ char(n: NNI) == %i2c n
+ ord c == %c2i c
random() == char(random(size())$NNI)
space == CHAR(" ", 0$Lisp)$Lisp
quote == CHAR("_" ", 0$Lisp)$Lisp