Pārlūkot izejas kodu

fix: started debugging keyboard press and fixed compiler issues

Marcelo Vilas Boas Correa Filho 5 gadi atpakaļ
vecāks
revīzija
546fa8c8b7
2 mainītis faili ar 27 papildinājumiem un 4 dzēšanām
  1. 12 2
      public/index.html
  2. 15 2
      public/javascripts/compiler.js

+ 12 - 2
public/index.html

@@ -83,8 +83,12 @@
                     <h4>Área de Trabalho</h4>
                 </div>
                 <div id="main" class="row m-3 m-3" style="background-color: #717171"></div>
-                <div id="functions" class="row">
-
+                <div id="functions" class="row"></div>
+                <div id="compiledCode">
+                    <div class="d-flex justify-content-center">
+                        <h4>Código compilado</h4>
+                    </div>
+                    <code type="javascripts" id="compiledJavascriptCode"></code>
                 </div>
             </div>
         </div>
@@ -144,6 +148,12 @@
 <script src="/javascripts/modules/operators/util-operators.js"></script>
 <script src="/javascripts/modules/operators/workspace-operators.js"></script>
 
+<script>
+    console.log("Keyboard key press debug started")
+    $('body').on('keyup', function (e) {
+        console.log(e.target.innerText);
+    });
+</script>
 
 </body>
 

+ 15 - 2
public/javascripts/compiler.js

@@ -1,10 +1,16 @@
 function compile() {
     let operations = document.getElementsByName('mainOperationsType');
     let stringToBeCompiled = ``;
+    let compiledJavascriptCode = $("#compiledJavascriptCode");
+
+    // Cleaning compiled code area
+    compiledJavascriptCode.html(``);
 
     // declaring variables
+    compiledJavascriptCode.append(`//Declarando variáveis<br/>`);
     for (let i = 0; i < variables.length; i++) {
-        stringToBeCompiled += `let ${variables[i].name} = ${variables[i].value};`;
+        stringToBeCompiled += `let ${variables[i].name} = ${getVariableTypeBarrier(variables[i].type)}${variables[i].value}${getVariableTypeBarrier(variables[i].type)};\n`;
+        compiledJavascriptCode.append(`let ${variables[i].name} = ${getVariableTypeBarrier(variables[i].type)}${variables[i].value}${getVariableTypeBarrier(variables[i].type)}; <br/>`);
     }
 
     for (let i = 0; i < operations.length; i++) {
@@ -12,33 +18,40 @@ function compile() {
             case mainCodeTypes.attribution: {
                 console.log(operations[i].previousElementSibling.value);
 
-                if (i !== 0)
+                if (i !== 0) {
                     stringToBeCompiled += `;`;
+                }
 
                 stringToBeCompiled += `\n${getVariableById(operations[i].previousElementSibling.value).name} = `;
+                compiledJavascriptCode.append(`<br/>${getVariableById(operations[i].previousElementSibling.value).name} = `);
                 break;
             }
             case mainCodeTypes.variable: {
                 console.log(operations[i].previousElementSibling.value);
                 stringToBeCompiled += `${getVariableById(operations[i].previousElementSibling.value).name} `;
+                compiledJavascriptCode.append(`${getVariableById(operations[i].previousElementSibling.value).name} `);
                 break;
             }
             case mainCodeTypes.operation: {
                 let operation = getOperationById(operations[i].previousElementSibling.value);
                 console.log(`${operation.firstVariable.name} ${operation.operation.operator} ${operation.secondVariable.name}`);
                 stringToBeCompiled += `${operation.firstVariable.name} ${operation.operation.operator} ${operation.secondVariable.name} `;
+                compiledJavascriptCode.append(`${operation.firstVariable.name} ${operation.operation.operator} ${operation.secondVariable.name} `);
                 break;
             }
             case mainCodeTypes.operator: {
                 console.log(operations[i].previousElementSibling.value);
                 stringToBeCompiled += `${getOperationByValue(operations[i].previousElementSibling.value).operator} `;
+                compiledJavascriptCode.append(`${getOperationByValue(operations[i].previousElementSibling.value).operator} `);
                 break;
             }
         }
     }
 
+    compiledJavascriptCode.append(`<br/><br/>//Exibindo variáveis`);
     for (let i = 0; i < variables.length; i++) {
         stringToBeCompiled += `\nalert("${variables[i].name} = " + ${variables[i].name});`;
+        compiledJavascriptCode.append(`<br/>alert("${variables[i].name} = " + ${variables[i].name});`);
     }
 
     eval(stringToBeCompiled);