diff options
author | dos-reis <gdr@axiomatics.org> | 2009-09-08 13:16:28 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2009-09-08 13:16:28 +0000 |
commit | 5ab1bb2721c9fdf77e6fa530523f5044b8445880 (patch) | |
tree | fb7fc8c5c0a9a73f4d7ccd486b53630f4c69ece2 /src/algebra | |
parent | 7fb7062638f05c3748a7aaace55d50cb1ac87fb0 (diff) | |
download | open-axiom-5ab1bb2721c9fdf77e6fa530523f5044b8445880.tar.gz |
* boot/ast.boot: Support "pointer" as simple datatype.
* interp/compiler.boot (getBasicFFIType): SystemPointer is an FFI type.
* algebra/data.spad.pamphlet (SystemPointer): New.
* algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include SYSPTR.
Diffstat (limited to 'src/algebra')
-rw-r--r-- | src/algebra/Makefile.in | 3 | ||||
-rw-r--r-- | src/algebra/Makefile.pamphlet | 3 | ||||
-rw-r--r-- | src/algebra/data.spad.pamphlet | 18 |
3 files changed, 22 insertions, 2 deletions
diff --git a/src/algebra/Makefile.in b/src/algebra/Makefile.in index 47010830..4d3f88c8 100644 --- a/src/algebra/Makefile.in +++ b/src/algebra/Makefile.in @@ -322,6 +322,7 @@ $(OUT)/IOMODE.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) $(OUT)/PRINT.$(FASLEXT): $(OUT)/TYPE.$(FASLEXT) $(OUT)/RTVALUE.$(FASLEXT): $(OUT)/TYPE.$(FASLEXT) +$(OUT)/SYSPTR.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) axiom_algebra_layer_0 = \ AHYP ATTREG CFCAT ELTAB KOERCE KONVERT \ @@ -348,7 +349,7 @@ axiom_algebra_layer_0 = \ DIOPS DIOPS- STRING STRICAT ISTRING ILIST \ LIST \ LINEXP PATMAB REAL CHARZ LOGIC LOGIC- \ - RTVALUE + RTVALUE SYSPTR axiom_algebra_layer_0_nrlibs = \ $(addsuffix .NRLIB/code.$(FASLEXT),$(axiom_algebra_layer_0)) diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet index d8ee249a..1d75410b 100644 --- a/src/algebra/Makefile.pamphlet +++ b/src/algebra/Makefile.pamphlet @@ -276,6 +276,7 @@ $(OUT)/IOMODE.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) $(OUT)/PRINT.$(FASLEXT): $(OUT)/TYPE.$(FASLEXT) $(OUT)/RTVALUE.$(FASLEXT): $(OUT)/TYPE.$(FASLEXT) +$(OUT)/SYSPTR.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) axiom_algebra_layer_0 = \ AHYP ATTREG CFCAT ELTAB KOERCE KONVERT \ @@ -302,7 +303,7 @@ axiom_algebra_layer_0 = \ DIOPS DIOPS- STRING STRICAT ISTRING ILIST \ LIST \ LINEXP PATMAB REAL CHARZ LOGIC LOGIC- \ - RTVALUE + RTVALUE SYSPTR axiom_algebra_layer_0_nrlibs = \ $(addsuffix .NRLIB/code.$(FASLEXT),$(axiom_algebra_layer_0)) diff --git a/src/algebra/data.spad.pamphlet b/src/algebra/data.spad.pamphlet index 95feee21..2d84ac59 100644 --- a/src/algebra/data.spad.pamphlet +++ b/src/algebra/data.spad.pamphlet @@ -235,6 +235,22 @@ UInt64() == SystemNonNegativeInteger 64 @ +\section{System-level Pointer Datatype.} + +<<domain SYSPTR SystemPointer>>= +)abbrev domain SYSPTR SystemPointer +++ Author: Gabriel Dos Reis +++ Date Created: September 8, 2009 +++ Date Last Modified: September 8, 2009 +++ Description: +++ This domain is a datatype system-level pointer values. +SystemPointer(): SetCategory + == add + x = y == EQL(x,y)$Foreign(Builtin) + coerce(x:%): OutputForm == + FORMAT(NIL$Foreign(Builtin),"~A",x)$Foreign(Builtin) +@ + \section{The ByteBuffer domain} @@ -432,6 +448,8 @@ DataArray(N: PositiveInteger, T: SetCategory): Public == Private where <<domain UINT32 UInt32>> <<domain UINT64 UInt64>> +<<domain SYSPTR SystemPointer>> + @ \end{document} |