{"push_id":1642096133,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"f843c3a96891149aaf9bea6ba7d2a58561457e22","before":"4e408a82f9ae7ab0fa90476aa5048bb5661fb4eb","commits":[{"sha":"0ad1b87247d432e83ffdf7e08c65d75e487d7042","author":{"name":"sbarham","email":"1c678c368f776401ae18be16ed661b8e3e8e4eca@terpmail.umd.edu"},"message":"Author: Samuel Barham\nDate: Monday, 27 March, 2017\n\n- changed eval into a generator\n  * changed the Interpreter's __iter__ method to return eval(...) -- which,\n    of course, returns a generator object\n  * changed the decision_nodes list into a decision_node variable, and added\n    a flag that eval can use to check for the presence of a new decision_node,\n    which it then yields before proceeding with execution -- this prevents\n    state from being corrupted, as it was before\n  * added a self.ret field to the Interpreter class, which represents the return\n    value of the last eval() operation, since eval() is now a generator, and\n    cannot be used recursively within op_sem evaluation functions.\n  * added a self.state field in order to mark whether or not execution of the\n    method's code is complete or not; if it is, then self.ret will represent\n    the return value of the method as a whole. This will allow for reflection\n    by the interpreter on its own execution state\n  * changed all op_sem evaluation helper methods to return None (implicitly), to make clear\n    the fact that their return values are no longer being used\n- Added an Interpreter mode to accomodate RAE, which needs to step through\n  method execution line by line\n  * this is complicated by the fact that the interpreter is executing byte-code-\n    like instructions, which exist at a much finer level of granularity than\n    lines of domain-specific code\n  * the solution was to add a RAE mode which, when activated, causes the e_seq\n    evaluation method to issues line-by-line progress nodes to the eval()\n    generator; thus, in iterating over a method, RAE is given a finer-grained\n    control over method execution\n\n- started porting documentation over to the wiki\n  * there is much more work to be done on this front\n\n- started implementing the dom lexer\n\n- started fixing the preconditions in the meth_parser\n  * however, tonight's meeting suggested new possibilities for handling\n    method-level preconditions, the most promising of which was the\n    implementation of preconditions as python functions -- but this design\n    decision has yet to be fully agreed-upon\n\nSTILL TODO:\n- add check in e_seq to see whether next instr is not a control structure\n- discuss precondition representation with Matt and Gavin\n- discuss domain representation with Matt and Gavin\n- write .act reader\n- write .cmd reader\n- write documentation for .cmd and .act files (this will be very brief)\n- write documentation for .meth file\n- write documentation for .meth DSL\n- write documentation for .dom file\n- write documentation for domain data structures -- state variables, rigid\n  relations, object sets, etc.: everything read in from a .dom file","distinct":true,"url":"https://api.github.com/repos/CMSC722/RAE-SeRPE/commits/0ad1b87247d432e83ffdf7e08c65d75e487d7042"},{"sha":"f843c3a96891149aaf9bea6ba7d2a58561457e22","author":{"name":"sbarham","email":"1c678c368f776401ae18be16ed661b8e3e8e4eca@terpmail.umd.edu"},"message":"Merge branch 'master' of https://github.com/CMSC722/RAE-SeRPE\n- conflicts had arisen between Banu's start to the dom lexer and my own","distinct":true,"url":"https://api.github.com/repos/CMSC722/RAE-SeRPE/commits/f843c3a96891149aaf9bea6ba7d2a58561457e22"}]}
{"actor":{"display_login":"sbarham"}}