From 9f97af956a86102a10cc34c43fe0e2b36df5b021 Mon Sep 17 00:00:00 2001
From: Yuchen Pei <me@ypei.me>
Date: Thu, 11 Jan 2018 12:42:38 +0100
Subject: added gitignore, finished project 10

---
 projects/10/test/Main.ast  |  1 +
 projects/10/test/Main.jack | 30 ++++++++++++++++++++++++++++++
 2 files changed, 31 insertions(+)
 create mode 100644 projects/10/test/Main.ast
 create mode 100644 projects/10/test/Main.jack

(limited to 'projects/10/test')

diff --git a/projects/10/test/Main.ast b/projects/10/test/Main.ast
new file mode 100644
index 0000000..f8194cb
--- /dev/null
+++ b/projects/10/test/Main.ast
@@ -0,0 +1 @@
+Right (JClass "Main" [] [JSubroutineDec (JSubroutineHeader "function" ("void","main") []) (JSubroutineBody [("Array","a"),("int","length"),("int","i"),("int","sum")] [JLetStatment (JVarId "length" Nothing) (JExpCall (JSubroutineCall "Keyboard" (Just "readInt") [JStrConst "HOW MANY NUMBERS? "])),JLetStatment (JVarId "a" Nothing) (JExpCall (JSubroutineCall "Array" (Just "new") [JExpVar (JVarId "length" Nothing)])),JLetStatment (JVarId "i" Nothing) (JIntConst 0),JWhileStatment (JExpBin (JExpVar (JVarId "i" Nothing)) [('<',JExpVar (JVarId "length" Nothing))]) [JLetStatment (JVarId "a" (Just (JExpVar (JVarId "i" Nothing)))) (JExpCall (JSubroutineCall "Keyboard" (Just "readInt") [JStrConst "ENTER THE NEXT NUMBER: "])),JLetStatment (JVarId "i" Nothing) (JExpBin (JExpVar (JVarId "i" Nothing)) [('+',JIntConst 1)])],JLetStatment (JVarId "i" Nothing) (JIntConst 0),JLetStatment (JVarId "sum" Nothing) (JIntConst 0),JWhileStatment (JExpBin (JExpVar (JVarId "i" Nothing)) [('<',JExpVar (JVarId "length" Nothing))]) [JLetStatment (JVarId "sum" Nothing) (JExpBin (JExpVar (JVarId "sum" Nothing)) [('+',JExpVar (JVarId "a" (Just (JExpVar (JVarId "i" Nothing)))))]),JLetStatment (JVarId "i" Nothing) (JExpBin (JExpVar (JVarId "i" Nothing)) [('+',JIntConst 1)])],JDoStatement (JSubroutineCall "Output" (Just "printString") [JStrConst "THE AVERAGE IS: "]),JDoStatement (JSubroutineCall "Output" (Just "printInt") [JExpBin (JExpVar (JVarId "sum" Nothing)) [('/',JExpVar (JVarId "length" Nothing))]]),JDoStatement (JSubroutineCall "Output" (Just "println") []),JReturnStatement Nothing])])
\ No newline at end of file
diff --git a/projects/10/test/Main.jack b/projects/10/test/Main.jack
new file mode 100644
index 0000000..cd80644
--- /dev/null
+++ b/projects/10/test/Main.jack
@@ -0,0 +1,30 @@
+class Main {
+    function void main() {
+        var Array a;
+        var int length;
+        var int i, sum;
+	
+	let length = Keyboard.readInt("HOW MANY NUMBERS? ");
+	let a = Array.new(length);
+	let i = 0;
+	
+	while (i < length) {
+	    let a[i] = Keyboard.readInt("ENTER THE NEXT NUMBER: ");
+	    let i = i + 1;
+	}
+	
+	let i = 0;
+	let sum = 0;
+	
+	while (i < length) {
+	    let sum = sum + a[i];
+	    let i = i + 1;
+	}
+	
+	do Output.printString("THE AVERAGE IS: ");
+	do Output.printInt(sum / length);
+	do Output.println();
+	
+	return;
+    }
+}
-- 
cgit v1.2.3