Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Narrative JavaScript (https://javascript.ru/forum/misc/7308-narrative-javascript.html)

mycoding 26.01.2010 09:13

Narrative JavaScript
 
ЧТо это такое Narrative JavaScript ? Если это другой javascript, то почему он работате в браузере?
И как вот эту строчку можно реализовать
notifier.wait->();

-> - Вроде вообще невозможно в js?????

tenshi 26.01.2010 11:55

http://ru.wikipedia.org/wiki/%D0%A2%...%D 0%BE%D1%80

mycoding 26.01.2010 14:53

А какой транслятор java? Только как он запустится, если java не установлен?

tenshi 26.01.2010 18:09

транслятор написан по всей видимости на яваскрипте. преобразует их язык в яваскрипт.

mycoding 26.01.2010 19:19

Теперь у меня ещё больше вопросов. А как вообще можно сделать транслятор на javascripte?
Хоть самый простой ....

PeaceCoder 26.01.2010 19:22

Цитата:

Сообщение от mycoding
Хоть самый простой ....

для этого надо знать синтаксис и механику работы одного и другого

mycoding 26.01.2010 19:24

А что именно надо знать хоть просто название. А то меня js каждый день
удивляет, то то , то это узнаёшь, сколько всего .......

Kolyaj 26.01.2010 19:52

http://www.ecma-international.org/pu...s/Ecma-262.htm

Ну хотя бы http://javascript.ru/ecmascript-in-detail

mycoding 26.01.2010 20:20

Цитата:

Сообщение от Kolyaj (Сообщение 42186)

Я прочитал 6 из 8 тонкостей , остальные две просто просмотрел, там про трансляцию или хоть что то похоже не было. Может быть в первой ссылке это будет...

Kolyaj 26.01.2010 20:56

По трансляции вам что-то вроде этого http://ermak.cs.nstu.ru/trans/

mycoding 26.01.2010 21:23

Цитата:

Сообщение от Kolyaj (Сообщение 42194)
По трансляции вам что-то вроде этого http://ermak.cs.nstu.ru/trans/

Мне не то, что бы сама трансляция непотна, а непонятно, как это можно сделать в js, чем это можно сделать?
Я как понял, трансляция, это просто берём, код дальше его видо изменяем,
(как то ) и запускаем.
т.е. например пускай
Изначальный код
cout->('Привет');

Потом трасляция, получаем
alert('Привет');

Kolyaj 26.01.2010 21:44

mycoding,
если новый язык будет просто макро-языком для JavaScript, но можно будет обойтись регулярными выражениями. Если полноценный язык со своим синтаксисом и семантикой, то без, соответственно, синтаксического и семантического анализа не обойтись.

mycoding 26.01.2010 22:16

А как сделано вот здесь http://www.neilmix.com/narrativejs/doc/ ?
Мне бы просто пример что бы переделывало
код из cout->('Привет'); в alert('Привет');
А дальше я разберусь

Мне сейчас одну ссылочку дали вот эту http://is.gd/76ds2
это просто нечто........................................ ...................

Kolyaj 27.01.2010 09:02

Цитата:

Сообщение от mycoding
Мне бы просто пример что бы переделывало
код из cout->('Привет'); в alert('Привет');

var str = 'cout->(\'Hello\');\ncout->(\'World\');'
var code = str.replace(/cout->\('([^']*)'\);/g, 'alert(\'$1\');');
eval(code);

mycoding 27.01.2010 09:34

Цитата:

Сообщение от Kolyaj (Сообщение 42245)
var str = 'cout->(\'Hello\');\ncout->(\'World\');'
var code = str.replace(/cout->\('([^']*)'\);/g, 'alert(\'$1\');');
eval(code);

Так это переделывает из строки, а нужно чтобы переделывало сам код.
Ну ладно, я понял, что это тема хотя и давнишняя, но мало кто знает, у меня друг спец по вебу, был вчера очень удивлён, что такое вообще есть.

Gvozd 27.01.2010 09:44

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.


Kolyaj 27.01.2010 09:50

Цитата:

Сообщение от mycoding
Так это переделывает из строки, а нужно чтобы переделывало сам код.

А код это не строка? Или вы хотите написать какой-то бред в <script type="text/javascript"> и чтобы он выполнился? Чудес не бывает. Можете писать код в <script type="text/mycoolscript"> потом выдирать его оттуда, транслировать и выполнять.

mycoding 27.01.2010 10:57

Я хочу понять как вот здесь сделано http://www.neilmix.com/narrativejs/doc/
И сделать свой такое же.

Kolyaj 27.01.2010 11:03

Там всё написано.
NjsCompiler.load("moveButton.njs");
Компилятор загружает код и транслирует его в нативный JS.

mycoding 27.01.2010 11:15

Наверное я просто не доганяю, что такое Narative Javascript.
Ну ладно, потом как-нибудь разберу.

Gvozd 27.01.2010 11:30

mycoding,
мне вам еще раз цитату написать?
или вы не поняли?
если вы не понимаете английского языка(никогда не думал что смогу сказать такое кому-то), то почему еще не прочитали http://javascript.ru/unsorted/async/...k-eto-rabotaet ?
оно заранее отдельным транслятором транслируется в обычный JS-код, который вы и подключаете вместе со специальной библиотекой
в браузере у вас грузится два обычных JS-файла(только ваш код, который был оттранслирован, не особо человекочитабелен будет. поэтому для дальнейших правок лучше использовать ваш неоттранслированный narrative-код)
и затем это код уже обычным образом исполняется браузером

mycoding 27.01.2010 11:38

Я статью читал, просто реально не догоняю что-то эту тему, не знаю почему.

Gvozd 27.01.2010 11:59

mycoding,
после моего сообщения все еще не догоняете?


Часовой пояс GMT +3, время: 18:50.