U.DC.Comm.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. Namespace.register("U.CD");
  2. // 主函数
  3. U.CD.Error = 1;//判断程序有无错误
  4. U.CD.run=function () {
  5. cls();
  6. lex();//词法分析 入口
  7. Syntax.run(tokens); //语法分析入口
  8. //my('col5').appendChild(Syntax.treeview(Syntax.root)); 语法树
  9. console(Syntax.error);// 控制台
  10. if (U.CD.Error) {
  11. //coderesult(Interpreter.Output(Syntax.intercode)); //打印中间代码
  12. Interpreter.run(Syntax.intercode); // 制表符 入口
  13. if (U.CD.Error) {
  14. showcol('UD_Print', 'UD_Control');
  15. }
  16. else{
  17. showcol('UD_Control', 'UD_Print');
  18. }
  19. }
  20. else{
  21. showcol('UD_Control', 'UD_Print');
  22. }
  23. }
  24. // 打印控制台
  25. function console(str) {
  26. if(str!="")
  27. U.CD.Error = 0;
  28. U.CD.Obj('UD_CD_Col6').innerHTML += "<div style='color:red'>"+str+"</div>";
  29. };
  30. // 打印词法分析结果
  31. //function lexresult(str) {
  32. // my('col3').innerHTML += str;
  33. //};
  34. // 打印输出
  35. function outputresult(str) {
  36. U.CD.Obj('UD_CD_Col6').innerHTML += str;
  37. };
  38. // 打印语法树
  39. //function treeresult(str) {
  40. // my('col5').innerHTML += str;
  41. //};
  42. // 打印中间代码
  43. function coderesult(str) {
  44. U.CD.Obj('UD_CD_Col6').innerHTML += str;
  45. };
  46. // 清屏函数
  47. function cls() {
  48. U.CD.Obj('UD_CD_Col6').innerHTML = '';
  49. U.CD.Error = 1
  50. };
  51. // 清空源代码区
  52. function clsource() {
  53. U.CD.Obj('UD_CD_Source').value = '';
  54. };
  55. // tab函数
  56. function showcol(n,c) {
  57. U.CD.Obj(c).style.color = '#999999';
  58. U.CD.Obj(c).style.background = '#E1E1E1';
  59. U.CD.Obj(n).style.color = 'white';
  60. U.CD.Obj(n).style.background = '#038BC7';
  61. };
  62. //// 弹出层
  63. //function dialog() {
  64. // with (document.documentElement) {
  65. // var width = (scrollWidth > clientWidth) ? scrollWidth : clientWidth;
  66. // var height = (scrollHeight > clientHeight) ? scrollHeight
  67. // : clientHeight;
  68. // }
  69. // var left = document.documentElement.clientWidth / 2 - 186;
  70. // var top = document.documentElement.clientHeight / 2 - 169;
  71. // document.getElementsByTagName('body')[0].innerHTML += "<div id='copyright' style='width:424px;"
  72. // + "height:169px;background:url(images/dialog.png);text-align:center;font-size:13px;position:fixed;"
  73. // + "z-index:99;left:"
  74. // + left
  75. // + "px;top:"
  76. // + top
  77. // + "px;'>"
  78. // + '<p>JCompiler-JavaScript 解释器</p><p>邱旭乐(200732580229)</p><p>张河川(200732580241)</p>'
  79. // + '<input type="button" value="知道了" onclick="destroyDg();" /></div>';
  80. // var div = document.createElement('div');
  81. // div.style.backgroundColor = "#333333";
  82. // div.style.width = width + 'px';
  83. // div.style.width = height + 'px';
  84. // div.style.left = "0 px";
  85. // div.style.top = "0 px";
  86. // div.style.zIndex = 98;
  87. // div.style.opacity = 0.6;
  88. // // document.getElementsByTagName('body')[0].innerHTML+=copyright;
  89. // document.getElementsByTagName('body')[0].innerHTML += "<div id='mask' style='background:#333;position:absolute;left:0px;top:0px;opacity:.6;"
  90. // + "width:" + width + "px;height:" + height + "px;'></div>";
  91. //};
  92. //// 关闭层
  93. //function destroyDg() {
  94. // my('mask').parentNode.removeChild(my('mask'));
  95. // my('copyright').parentNode.removeChild(my('copyright'));
  96. //};
  97. //function showNode(hotspot) {
  98. // for ( var n = 0; n != hotspot.childNodes.length; n++) {
  99. // var node = hotspot.childNodes[n];
  100. // // li文本不受该动作影响
  101. // if (node.nodeType == 3) {
  102. // continue;
  103. // } else if (node.style.display == 'block' || node.style.display == '') {
  104. // node.style.display = 'none';
  105. // node.parentNode.style.backgroundImage = "url(images/plus.gif)";
  106. // } else {
  107. // node.style.display = 'block';
  108. // node.parentNode.style.backgroundImage = "url(images/minus.gif)";
  109. // }
  110. // }
  111. //};