Age | Commit message (Collapse) | Author | |
---|---|---|---|
2015-12-11 | Use a more general method for extracting edits | Timotej Lazar | |
This is a large overhaul of monkey code. Before, only edits within individual lines were tracked, which required a Prolog-specific method for splitting a program into a list of lines for every rule. In this version, modifications can be tracked within arbitrary code ranges. Ranges to be tracked are determined by selecting "interesting" subtrees in the AST of the starting code version. The new method is simpler, less language-dependent and easier to extend. The downside is that a program must be syntactically correct before we can attempt to fix it (the previous approach could handle programs with syntax errors in some cases). This commit also integrates a call to monkey.fix in prolog_session.hint, by running it if no other hint is found. | |||
2015-12-10 | Remove trace-graph function from monkey.test | Timotej Lazar | |
2015-12-10 | Add copyright info | Timotej Lazar | |
2015-10-15 | Store identifiers instead of IDs in Problem model | Timotej Lazar | |
2015-10-13 | Move monkey/monkey.py to monkey/__init__.py | Timotej Lazar | |
2015-09-24 | Update monkey.test.test for new testing functions | Timotej Lazar | |
2015-09-02 | Update monkey.test to work with new DB | Timotej Lazar | |
2015-08-24 | Remove in-edges from monkey.graph.Node class | Timotej Lazar | |
2015-08-11 | Add code to check for typos | Mehmet Akalın | |
2015-08-11 | Fix monkey.test.print_hint | Timotej Lazar | |
2015-08-11 | Remove app-specific code from prolog.engine | Timotej Lazar | |
2015-08-11 | Ignore attempts from all non-student users | Timotej Lazar | |
2015-08-11 | Reorder cases in monkey.test and fix print_hint | Timotej Lazar | |
2015-08-11 | Move hint message generation to a new function | Timotej Lazar | |
2015-08-11 | Annotate tokens instead of splitting program | Timotej Lazar | |
Instead of splitting the program by line numbers, do limited parsing (enough to distinguish , in "memb(X,Y)" from , in "a :- b, c."). Each token in the parsed program is annotated with rule and part number. Rewrite monkey.fix.step to take program as a sequence of annotated tokens instead of lists of lines and rules. Improve message passing to website. | |||
2015-08-11 | Exclude admin and test users when analyzing traces | Timotej Lazar | |
2015-08-11 | Don't store solution-line frequencies | Timotej Lazar | |
This is currently unused. | |||
2015-08-11 | monkey.fix.step: apply all edits in line order | Timotej Lazar | |
For instance, don't add a new rule at line 1 after changing line 3 - only the ordered sequence of edits will be checked. | |||
2015-08-11 | Remove unused imports in monkey.test | Timotej Lazar | |
2015-08-11 | Rename monkey.edits.edit_graph to trace_graph | Timotej Lazar | |
2015-08-11 | Cleanups | Timotej Lazar | |
2015-08-11 | Minor fixes in monkey.test | Timotej Lazar | |
2015-08-11 | Small cleanups | Timotej Lazar | |
2015-08-11 | Move monkey.prolog to root module | Timotej Lazar | |
2015-08-11 | Initial error marking support | Timotej Lazar | |
Some cleanups in monkey.monkey. Need better namespacing. Basic postprocessing (merge edits to same line). | |||
2015-08-11 | Pass auxiliary code to fix in monkey.test | Timotej Lazar | |
2015-08-11 | Move get_aux_code to tutor/models.py | Timotej Lazar | |
2015-08-11 | Move testing code from monkey.py to test.py | Timotej Lazar | |
Drop monkey/db.py and use Django models instead. |