Advertisement
Guest User

Untitled

a guest
Oct 31st, 2014
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.82 KB | None | 0 0
  1. <!doctype html>
  2.  
  3. <html lang="en">
  4. <head>
  5. <title>Group 7 - Deckcode to JavaScript</title>
  6. <link rel="stylesheet" type="text/css" href="styleforcompiler.css">
  7. </head>
  8. <body>
  9. <center><h1>Group 7 - Deckcode to JavaScript</h1></center>
  10. <center><p>Input your deckode below:</p></center>
  11. <center><p><textarea id="myTextarea" rows="30" cols="50">Enter your deckcode here...</textarea>
  12. <textarea id="myTextarea" rows="30" cols="50"></textarea></p></center>
  13. <center><button type="button" onclick="myFunction()">Translate</button></center>
  14. <center><p id="demo"></p></center>
  15. <script>
  16.  
  17. var Output = "";
  18.  
  19. var ARRAY_COMMANDS = ["deck", "movetop", "moveall"];
  20. var ARRAY_OPERATIONS = ["less," "greater", "equal"];
  21.  
  22. //var testDeck1 = ["A", "B", "C"];
  23. //var testDeck2 = ["d", "e", "f"];
  24. //var td1 = "in";
  25. //var td2 = "temp";
  26.  
  27. function myFunction()
  28. {
  29. var completedArray = getWords();
  30. document.getElementById("demo").innerHTML = Output;
  31.  
  32. }
  33.  
  34. function getWords()
  35. {
  36. var bufferedString = [];
  37. var r = [];
  38. var textAreaValue = document.getElementById("myTextarea").value;
  39. for (i = 0, len = textAreaValue.length; i <= len; i++)
  40. {
  41. if (textAreaValue[i] == " " || textAreaValue[i] == undefined)
  42. {
  43. var completedString = bufferedString.join("");
  44. r.push(completedString);
  45. // Clear bufferedString
  46. bufferedString = [];
  47. }
  48. else
  49. {
  50. bufferedString.push(textAreaValue[i]);
  51. }
  52. }
  53. return r;
  54. }
  55.  
  56. // Handles deck command
  57. function deck(pvar1, Ivar2)
  58. {
  59. if (pvar1 == undefined)
  60. {
  61. //error_flag = 1;
  62. error(1);
  63. }
  64. else if (typeof Ivar2 != "2" && Ivar2 != undefined)
  65. {
  66. //error_flag = 2;
  67. error(2);
  68. }
  69. else
  70. {
  71. if (Ivar2 == undefined)
  72. {
  73. // Input was "deck in"
  74. var returnArray = [];
  75. Output += ("var " + pvar1 + " = [];\n");
  76. }
  77. else
  78. {
  79. // (deck in: 1, 2, 3, 4, 5
  80. var returnArray = Ivar2;
  81. Output += ("var " + pvar1 + " = [" + Ivar2 + "];\n");
  82. }
  83. }
  84. }
  85.  
  86. // Handles movetop command
  87. // Deckcode: movetop in, temp
  88. function movetop(Ivar1, Ovar2)
  89. {
  90. if (Ivar1 == undefined || Ovar2 == undefined)
  91. {
  92. //error_flag = 3;
  93. error(3);
  94. }
  95. // TODO: Add check to make sure parameters are in fact arrays
  96. else
  97. {
  98.  
  99. Ovar2.unshift(Ivar1.shift());
  100.  
  101. Output += (Ovar2 + ".unshift(" + Ivar1 + ".shift());");
  102. }
  103. }
  104.  
  105. // Handles moveall command
  106. function moveall(Ivar1, Ovar2)
  107. {
  108. if (Ivar1 == undefined || Ovar2 == undefined)
  109. {
  110. //error_flag = 3;
  111. error(3);
  112. }
  113. // TODO: Add check to make sure parameters are in fact arrays
  114. else if (Ivar1.length == 0)
  115. {
  116. //error_flag = 5;
  117. error(5);
  118. }
  119. else
  120. {
  121. // I could have used Ovar2.concat(Ivar1), but it doesn't empty Ivar1, only copies it and concatenates to Ovar2
  122. // Plus stackoverflow told be this is apparently the fastest way to do it so who am I to argue
  123. /*
  124. while (Ivar1.length > 0)
  125. {
  126. Ovar2.push(Ivar1.pop());
  127. }
  128. */
  129. Output += ("while (" + Ivar1 + ".length > 0) { " + Ovar2 + ".push(" + Ivar1 + ".pop()); } ");
  130. }
  131. }
  132.  
  133. function error(I_error_flag)
  134. {
  135. if (I_error_flag == 1)
  136. {
  137. console.log("Error 1: Deck initialization does not contain a name input");
  138. }
  139. else if (I_error_flag == 2)
  140. {
  141. console.log("Error 2: Deck initialization contains an invalid data input");
  142. }
  143. else if (I_error_flag == 3)
  144. {
  145. console.log("Error 3: Invalid function invocation--check if initial and destination decks are arrays");
  146. }
  147. else if (I_error_flag == 4)
  148. {
  149. console.log("Error 4: Type mismatch--decks should be arrays, but one or both are not");
  150. }
  151. else if (I_error_flag == 5)
  152. {
  153. console.log("Error 5: Empty initial array--is there an empty deck where there shouldn't be?");
  154. }
  155. }
  156. </script>
  157. </script>
  158. </body>
  159. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement