{"id":110,"date":"2020-02-29T21:30:48","date_gmt":"2020-03-01T02:30:48","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/?p=110"},"modified":"2020-02-29T21:34:23","modified_gmt":"2020-03-01T02:34:23","slug":"aarohis-status-update-for-february-29-2020","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/2020\/02\/29\/aarohis-status-update-for-february-29-2020\/","title":{"rendered":"Aarohi&#8217;s Status Update for February 29"},"content":{"rendered":"<p><b>Progress<\/b><\/p>\n<p><span style=\"font-weight: 400\">This week I mostly focused on specing out the rest of the interpreter, and on the design presentation.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Functions\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">We decided to add an additional functionality to the spec of the interpreter: functions. This involves function definition (fn), functions and return statements.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Functions will be declared as follows:\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Code:\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">fun foo(int x) {<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00a0\u00a0\u00a0\u00a0return x + x;<\/span><\/p>\n<p><span style=\"font-weight: 400\">}<\/span><\/p>\n<p><span style=\"font-weight: 400\">fun bar(int x) {<\/span><\/p>\n<p><span style=\"font-weight: 400\">return foo(x);<\/span><\/p>\n<p><span style=\"font-weight: 400\">}<\/span><\/p>\n<p><span style=\"font-weight: 400\">CodeBlox:<\/span><\/p>\n<p><span style=\"font-weight: 400\">v1 = fn of v2<\/span><\/p>\n<p><span style=\"font-weight: 400\">return v2 + v2<\/span><\/p>\n<p><span style=\"font-weight: 400\">v3 = fn of v4<\/span><\/p>\n<p><span style=\"font-weight: 400\">return v1.v4<\/span><\/p>\n<p><span style=\"font-weight: 400\">In practice, functions will not be checked (compiled) unless they are called. When functions are called, they will be executed line by line.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Therefore the functionality can be compared to that of python, where error checking is done at runtime.\u00a0<\/span><\/p>\n<p><b>Schedule<\/b><\/p>\n<p><span style=\"font-weight: 400\">Because of the design presentation and work from other classes, I am falling behind schedule. I should have gotten command sequences working for this week, but this week I focused on specing out the entire pattern and preparing it for the design presentation. Since I have kept spring break as slack time, and I will not be needing access to the arduino platform on the lab computer, I will be able to catch up on work during spring break remotely.\u00a0<\/span><\/p>\n<p><b>Goals for next week (same as last week)<\/b><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Finish eval_expression (recursive function)\u00a0<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Finish handling command sequences<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Begin working on handling conditional sequences\u00a0<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Begin working on implementing error checking (mark where error checking needs to be done) <\/span><\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Progress This week I mostly focused on specing out the rest of the interpreter, and on the design presentation.\u00a0 Functions\u00a0 We decided to add an additional functionality to the spec of the interpreter: functions. This involves function definition (fn), functions and return statements. Functions will be declared as follows:\u00a0 Code:\u00a0 fun foo(int x) { \u00a0\u00a0\u00a0\u00a0return x + x; } fun bar(int x) { return foo(x); } CodeBlox: v1 = fn of v2 return v2 + v2 v3 = fn of&#8230;<\/p>\n<p class=\"read-more\"><a class=\"btn btn-default\" href=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/2020\/02\/29\/aarohis-status-update-for-february-29-2020\/\"> Read More<span class=\"screen-reader-text\">  Read More<\/span><\/a><\/p>\n","protected":false},"author":266,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5,8],"tags":[],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/wp-json\/wp\/v2\/posts\/110"}],"collection":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/wp-json\/wp\/v2\/users\/266"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/wp-json\/wp\/v2\/comments?post=110"}],"version-history":[{"count":2,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/wp-json\/wp\/v2\/posts\/110\/revisions"}],"predecessor-version":[{"id":112,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/wp-json\/wp\/v2\/posts\/110\/revisions\/112"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/wp-json\/wp\/v2\/media?parent=110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/wp-json\/wp\/v2\/categories?post=110"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamb5\/wp-json\/wp\/v2\/tags?post=110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}