From e77214216ab39a3f1b83252a2ea340d74d18bade Mon Sep 17 00:00:00 2001
From: Thomas Wood <thomas.wood09@imperial.ac.uk>
Date: Fri, 18 Sep 2015 17:49:18 +0100
Subject: [PATCH] Some comments for navig.js

---
 navig.js | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/navig.js b/navig.js
index 2ff8d4f..cd78ee7 100644
--- a/navig.js
+++ b/navig.js
@@ -14,6 +14,7 @@ var tracer_pos = 0;
 $("#source_code").val(source_file);
 
 
+// Jump the trace to a given position
 function stepTo(step) {
   tracer_pos = step;
   updateSelection();
@@ -73,6 +74,7 @@ function goToPred(pred) {
   }
 }));
 
+// Goes to given breakpoint that matches the given predicate
 function button_reach_handler() {
   var pred = $("#text_condition").val();
   var res = goToPred(pred);
@@ -86,6 +88,7 @@ function button_reach_handler() {
 
 $('#text_condition').keypress(function(e){
 	var keycode = (e.keyCode ? e.keyCode : e.which);
+        // <ENTER>
 	if (keycode == '13') {
 		button_reach_handler();
 	}
@@ -94,12 +97,16 @@ $('#text_condition').keypress(function(e){
 $("#button_reach").click(button_reach_handler);
 
 
+// Move to given trace point
 $("#navigation_step").change(function(e) {
   var n = + $("#navigation_step").val();
   n = Math.max(0, Math.min(tracer_length - 1, n));
   stepTo(n);
 });
 
+// Main entry point
+// Runs the source code
+// Modifies trace
 $("#button_run").click(function() {
   try {
     var code = source.getValue();
@@ -182,6 +189,7 @@ function shared_next(dir, target) {
   }
 }
 
+// Debugger movement operations
 function restart() { tracer_pos = 0; }
 function step() { shared_step(+1); }
 function backstep() { shared_step(-1); }
@@ -236,6 +244,7 @@ function fresh_id() {
   return "fresh_id_" + (next_fresh_id++);
 }
 
+// Produces and outputs html for a value, including magic unfolding on click
 function show_value(heap, v, target, depth) {
   var contents_init = $("#" + target).html();
   var s = "";
@@ -311,7 +320,10 @@ function updateSourceSelection() {
   var head = {line: source_select-1, ch: 100 } */;
 }
 
+// ctx for interpreter
+// file for interpreted code
 function updateSelection() {
+  // Load item to be displayed
   var item = tracer_items[tracer_pos];
   source.setSelection({line: 0, ch:0}, {line: 0, ch:0}); // TODO: fct reset
 
@@ -382,6 +394,7 @@ try {
   }); 
 } catch(e) { }
 
+// On double click of reference to ES, opens definition
 editor.on('dblclick', function() {
   var line = editor.getCursor().line;
   var txt = editor.getLine(line);
@@ -409,6 +422,7 @@ function completeTermsInDatalog(items) {
     item.source_select = last;
     if (item.ctx !== undefined) {
       var ctx_as_array = array_of_env(item.ctx);
+      // FIXME: "t" is a hack!
       if (ctx_as_array.length > 0 && ctx_as_array[0].name === "t") {
         var t = ctx_as_array[0].val;
         if (! (t === undefined || t.start === undefined || t.end === undefined)) {
-- 
GitLab