From fd8e3bee660f22032b51bc12452353b141e125be Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Wed, 17 Jan 2018 16:44:59 +0100 Subject: checkpoint - finished Array - finished Sys - revised Memory --- projects/12/ArrayTest/Array.jack | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 projects/12/ArrayTest/Array.jack (limited to 'projects/12/ArrayTest/Array.jack') diff --git a/projects/12/ArrayTest/Array.jack b/projects/12/ArrayTest/Array.jack new file mode 100644 index 0000000..343c25c --- /dev/null +++ b/projects/12/ArrayTest/Array.jack @@ -0,0 +1,26 @@ +// This file is part of www.nand2tetris.org +// and the book "The Elements of Computing Systems" +// by Nisan and Schocken, MIT Press. +// File name: projects/12/Array.jack + +/** + * Represents an array. + * In the Jack language, arrays are instances of the Array class. + * Once declared, the array entries can be accessed using the usual + * syntax arr[i]. Each array entry can hold a primitive data type as + * well as any object type. Different array entries can have different + * data types. + */ +class Array { + + /** Constructs a new Array of the given size. */ + function Array new(int size) { + return Memory.alloc(size); + } + + /** Disposes this array. */ + method void dispose() { + do Memory.deAlloc(this); + return; + } +} -- cgit v1.2.3