From 67d25d837ac55f28a366c0a3b262e439a6e75fc3 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sat, 19 Aug 2017 12:15:28 +0200 Subject: Add AmForth --- .../lib/forth2012/facility/structures-array.frt | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 amforth-6.5/common/lib/forth2012/facility/structures-array.frt (limited to 'amforth-6.5/common/lib/forth2012/facility/structures-array.frt') diff --git a/amforth-6.5/common/lib/forth2012/facility/structures-array.frt b/amforth-6.5/common/lib/forth2012/facility/structures-array.frt new file mode 100644 index 0000000..14e62df --- /dev/null +++ b/amforth-6.5/common/lib/forth2012/facility/structures-array.frt @@ -0,0 +1,24 @@ + +begin-structure hash + field: hash.key + field: hash.value +end-structure + +\ inspired by CELLS +: hash-cells hash * ; + +\ define a hash-array +: hash: + hash-cells buffer: + does> + swap hash-cells + +; + +\ define an array of some elements hash'es +4 hash: my-hash +cr 0 my-hash . +cr 1 my-hash . + +\ store a key/value pair +42 3 my-hash hash.key ! +4711 3 my-hash hash.value ! -- cgit v1.2.3