summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-08-24monkey.graph.graphviz: fix escaping of node labelsTimotej Lazar
2015-08-24monkey.graph.graphviz: use id() to reference nodesTimotej Lazar
2015-08-21Add a hashbang line to the Prolog server scriptTimotej Lazar
2015-08-21Add a Python server for running users' codeTimotej Lazar
2015-08-20Add a Prolog pengine server for running queriesTimotej Lazar
Run with "swipl main.pl".
2015-08-20Add prolog.engine.runTimotej Lazar
Collects all the answers to a given query within the specified timeout.
2015-08-20Simplify and privatize prolog.engine.get_messageTimotej Lazar
2015-08-20Add a timeout option for prolog.engine requestsTimotej Lazar
2015-08-20Replace strip_html function in prolog.engineTimotej Lazar
2015-08-20Convert monkey.edits to use the new DBTimotej Lazar
2015-08-20Add a data model for the problem tableTimotej Lazar
2015-08-20Merge branch 'master' of ssh://212.235.189.51:22122/codeq-serverAleš Smodiš
2015-08-20Bugfix: database constraint problem.problem_uq2 referenced only identifier, ↵Aleš Smodiš
but it should reference the triplet (language_id, problem_group_id, identifier) instead.
2015-08-20Remove unneeded DB init stuff from monkey.actionTimotej Lazar
2015-08-19Adapted existing database entities to changes in the model. Excluded ↵Aleš Smodiš
database connection handling into __init__.py of the db package.
2015-08-19New database tables and data imports: user_group, user_in_group, language, ↵Aleš Smodiš
problem_group, problem.
2015-08-18Implemented the script to export problems from the SQLite database to the ↵Aleš Smodiš
new directory structure.
2015-08-13The essential .gitignore.Aleš Smodiš
2015-08-13The conversion script SQLite -> PostgreSQL:Aleš Smodiš
- auth_user -> codeq_user, - tutor_attempt -> solution.
2015-08-13The initial readme.Aleš Smodiš
2015-08-13Initial PostgreSQL data model: codeq_user and solution tables.Aleš Smodiš
Converted the action.py to use the new model.
2015-08-11Add code to check for typosMehmet Akalın
2015-08-11Fix monkey.test.print_hintTimotej Lazar
2015-08-11Print 'true' on success with no bindingsTimotej Lazar
2015-08-11Disable parser generationTimotej Lazar
The parser is currently unused.
2015-08-11Improve error & warning reportingTimotej Lazar
Hope it does not break anything.
2015-08-11Use json-html format for Prolog repliesTimotej Lazar
The only way to get residuals in CLP queries.
2015-08-11Merge prolog.engine.create{,_and_ask} functionsTimotej Lazar
2015-08-11Remove app-specific code from prolog.engineTimotej Lazar
2015-08-11Specify timeout when generating test casesTimotej Lazar
2015-08-11Do not look for edits in problems with no tracesTimotej Lazar
2015-08-11Ignore attempts from all non-student usersTimotej Lazar
2015-08-11Silence warnings from ply.lex.lex()Timotej Lazar
2015-08-11Add a couple of utility functions to NodeTimotej Lazar
2015-08-11Use Node class from monkey.util in parserTimotej Lazar
Also simplify rules for list expressions.
2015-08-11Add a parser for (simplified) PrologTimotej Lazar
2015-08-11Always lex , as COMMA, never as NAMETimotej Lazar
Also a testing loop to prolog.lexer.
2015-08-11Remove unused function from prolog.utilTimotej Lazar
2015-08-11Tweak message handling codeTimotej Lazar
2015-08-11Reorder cases in monkey.test and fix print_hintTimotej Lazar
2015-08-11Use different colors for different types of editsTimotej Lazar
Remove on-hover explanations and replace the now-useless gutter with line numbers. Explanations will be reintroduced in a later commit.
2015-08-11Minor tweaks in monkey.monkeyTimotej Lazar
2015-08-11Print a random failing test for incorrect solutionTimotej Lazar
2015-08-11prolog.engine: use .get() to access replyTimotej Lazar
In case SWI engine goes insane and returns a malformed reply (has happened). Also fix the test case in this file to use the new, classless methods.
2015-08-11Move hint message generation to a new functionTimotej Lazar
2015-08-11Correctly find first token in current part in stepTimotej Lazar
2015-08-11Oops, a line got lostTimotej Lazar
2015-08-11Ignore edits a→b where a or b has multiple partsTimotej Lazar
This happens for instance when a user writes more than one goal on the same line. A better way would be to handle this when building a graph (use annotate instead of splitting on newlines).
2015-08-11Annotate tokens instead of splitting programTimotej 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-11Simplify calls to prolog.util.map_varsTimotej Lazar