Add ANS structure support (#128)
[debian/pforth] / fth / t_corex.fth
index f2b3f197ca0967b1c8cca5dd12642c3fef0e36c6..a45114fdd4c746fb6a4051ab6f269bf537485290 100644 (file)
@@ -330,5 +330,43 @@ T{ s" unknown-query-string" ENVIRONMENT? }T{ FALSE }T
 T{ s" MAX-CHAR" ENVIRONMENT? }T{ 255 TRUE }T
 T{ s" ADDRESS-UNITS-BITS" ENVIRONMENT? }T{ 8 TRUE }T
 
+\  ----------------------------------------------------- PROGRAMMING
+
+T{ exists? words }T{ true }T  \ high level
+T{ exists? swap }T{ true }T   \ in kernel
+T{ exists? lkajsdlakjs }T{ false }T
+
+T{ [defined] if }T{ true }T   \ high level
+T{ [defined] dup }T{ true }T  \ in kernel
+T{ [defined] k23jh42 }T{ false }T
+
+T{ [undefined] if }T{ false }T  \ high level
+T{ [undefined] dup }T{ false }T \ in kernel
+T{ [undefined] k23jh42 }T{ true }T
+
+\  ----------------------------------------------------- Structures
+
+BEGIN-STRUCTURE XYZS
+    cfield: xyz.c1
+    field:  xyz.w1
+    cfield: xyz.c2
+END-STRUCTURE
+
+T{ xyzs }T{ 2 cells 1+ }T
+T{ 0 xyz.c1 }T{ 0 }T
+T{ 0 xyz.w1 }T{ cell }T
+T{ 0 xyz.c2 }T{ 2 cells }T
+
+CREATE MY-XYZS XYZS ALLOT
+\ test forward order
+77 my-xyzs xyz.c1 c!
+1234567 my-xyzs xyz.w1 !
+99 my-xyzs xyz.c2 c!
+
+T{  my-xyzs xyz.c1 c@ }T{ 77 }T
+T{  my-xyzs xyz.w1 @ }T{ 1234567 }T
+T{  my-xyzs xyz.c2 c@ }T{ 99 }T
+
+
 }TEST