26.01.2010, 21:23
|
|
NodeJS developer - ушел
|
|
Регистрация: 06.01.2010
Сообщений: 1,022
|
|
Мне не то, что бы сама трансляция непотна, а непонятно, как это можно сделать в js, чем это можно сделать?
Я как понял, трансляция, это просто берём, код дальше его видо изменяем,
(как то ) и запускаем.
т.е. например пускай
Изначальный код
cout->('Привет');
Потом трасляция, получаем
alert('Привет');
|
|
26.01.2010, 21:44
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
mycoding,
если новый язык будет просто макро-языком для JavaScript, но можно будет обойтись регулярными выражениями. Если полноценный язык со своим синтаксисом и семантикой, то без, соответственно, синтаксического и семантического анализа не обойтись.
|
|
26.01.2010, 22:16
|
|
NodeJS developer - ушел
|
|
Регистрация: 06.01.2010
Сообщений: 1,022
|
|
А как сделано вот здесь http://www.neilmix.com/narrativejs/doc/ ?
Мне бы просто пример что бы переделывало
код из cout->('Привет'); в alert('Привет');
А дальше я разберусь
Мне сейчас одну ссылочку дали вот эту http://is.gd/76ds2
это просто нечто........................................ ...................
|
|
27.01.2010, 09:02
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от mycoding
|
Мне бы просто пример что бы переделывало
код из cout->('Привет'); в alert('Привет');
|
var str = 'cout->(\'Hello\');\ncout->(\'World\');'
var code = str.replace(/cout->\('([^']*)'\);/g, 'alert(\'$1\');');
eval(code);
|
|
27.01.2010, 09:34
|
|
NodeJS developer - ушел
|
|
Регистрация: 06.01.2010
Сообщений: 1,022
|
|
Сообщение от Kolyaj
|
var str = 'cout->(\'Hello\');\ncout->(\'World\');'
var code = str.replace(/cout->\('([^']*)'\);/g, 'alert(\'$1\');');
eval(code);
|
Так это переделывает из строки, а нужно чтобы переделывало сам код.
Ну ладно, я понял, что это тема хотя и давнишняя, но мало кто знает, у меня друг спец по вебу, был вчера очень удивлён, что такое вообще есть.
|
|
27.01.2010, 09:44
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
mycoding,
что вы тут развели за емае?
Сообщение от http://www.neilmix.com/narrativejs/doc/
|
Narrative JavaScript consists of a compiler and a runtime library. You write your code code as linear Narrative JavaScript (using the yielding operator) and the compiler will parse and translate the code into normal (asynchronous) JavaScript. You then deploy the compiled code along with a runtime library.
|
|
|
27.01.2010, 09:50
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от mycoding
|
Так это переделывает из строки, а нужно чтобы переделывало сам код.
|
А код это не строка? Или вы хотите написать какой-то бред в <script type="text/javascript"> и чтобы он выполнился? Чудес не бывает. Можете писать код в <script type="text/mycoolscript"> потом выдирать его оттуда, транслировать и выполнять.
|
|
27.01.2010, 11:03
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Там всё написано.
NjsCompiler.load("moveButton.njs");
Компилятор загружает код и транслирует его в нативный JS.
|
|
27.01.2010, 11:15
|
|
NodeJS developer - ушел
|
|
Регистрация: 06.01.2010
Сообщений: 1,022
|
|
Наверное я просто не доганяю, что такое Narative Javascript.
Ну ладно, потом как-нибудь разберу.
|
|
|
|