Перевод из паскаль в javascript
Здравствуйте!
Подскажите пожалуйста в написании кода. Нужно, чтобы программа, написанная на паскале, конвертировалась в JavaScript и выполнялась. Программу пользователь вводит в окно. Ну то есть перевести операторы Паскаль в операторы JavaScript. Программы - элементарные математические, то есть участвуют только самые необходимые операторы. С переводом какой-то конкретной программы проблем не возникло, сложности начались при обобщении. Конкретно, если не сложно, поясните, пожалуйста, как перевести тот же оператор присваивания (a:=6)и вывода значения(writeln(a)). Торможу на том, как сделать так, чтобы программа брала именно переменную а и присваивала ей конкретное введённое значение, а так же чтобы выводилось на печать именно нужное. Не получается перевести. Привожу код, куда планирую всё это вставлять. В ней просто перевод конкретных операторов и вывод их на JavaScript. Нужно же, чтобы всё это обрабатывалось. И ещё здесь конкретная программа, на самом деле прога вводится пользователем в окно. Прошу просто дать подсказку, как лучше это сделать. Заранее спасибо! <html><title>Проба</title> <head> <script> function red(){var g=forma.csl.value;var i=0;var v=new Array();v=g.split(''); var w=new Array();var j=0 var u=f.split('?');var i=u.length var g1='';for(i=0;i<u.length;i++){w=g.split(u[i]); if(w.length>1){g1='';for(j=0;j<w.length;j++)g1+=w[j]+u[i];} } g1=skob(g);g1=perem(g1);alert(g1); g1=g; var p=''; alert(eval(g)) } function skob(g){var g1='';var g2='';var w=new Array();var i=0 w=g.split('begin');for(i=0;i<w.length-1;i++)g1+=w[i]+'{';g1+=w[w.length-1]; w=g1.split('end');g2='';for(i=0;i<w.length-1;i++)g2+=w[i]+'}';g2+=w[w.length-1]; w=g2.split(':=');g1='';for(i=0;i<w.length-1;i++)g1+=w[i]+'=';g1+=w[w.length-1]; return(g1) } function perem(g){var g1='';var g2='';var w=new Array();var i=0; w=g.split('integer');for(i=0;i<w.length;i++)g1+=w[i]+'var'; return (g1) } </script> </head> <body> <form> <textarea cols=50 rows=10 name=csl onclick=www()> </textarea> <input type=button name=but onclick=red()> </form> <script> forma=document.forms[0] f='begin?end?{}?()?:=?+-*/?0123456789?abcdefghijklmnopqrstuvwxyz?;' f+='ABCDEFGHIJKLMNOPQRSTUVWXYZ?if?IF?while?WHILE?for?FOR?do?DO?do while?DO WHILE' forma.csl.value='a\na';u=forma.csl.value.split('');gpr=u[1]; forma.csl.value='integer a'+gpr+'begin'+gpr+'a:=3'+gpr+'end' f+=gpr; tst='' </script> </body> </html> |
Часовой пояс GMT +3, время: 08:04. |