Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > ActionScript 1,2 > eval


Автор: szz 22.5.2006, 22:54
Ищу решение для eval в AS, хотя бы AS1, хотя бы упрощенный...  Я поискал в сети - ничего не нашел. Начал писать сам - вроде реально, но только долго и муторно. И лень.  Мой пока что только парсит все на токены и эвалюирует простой код типа:
Код

var a = Math.pow(2, 3);
var b = 5;
trace(a+b/2);

 он требует ";" после каждой фразы, рубит все на токены и последовательно выполняет. С такими операциями как += он пока не работает (это не очень трудно реализовать), не понимает сложных операций вроде 5*(7-(1+1)) . Даже в trace(a+b/2); он сначала прибавит "а" к "б", а потом делит на два. Да, я еще в Си давно делал подобные штуки - надо перевести операции сначала в венгерский(?) вид, а потом оперировать, но это возня - и если потом окажется что кто-то уже это сделал - будет обидно smile

   Не видели ли что-то такое уже готовое?  

Автор: szz 24.5.2006, 21:04
сам нашел тут: http://flashcomponents.net/
в поиске напишите interpreter

Добавлено @ 21:08 
Странно все-таки, что eval встроенный такой неполноценный.  Это объясняют тем, что запихивать интерпретатор в FlashPlayer сделало бы его слишком большим. Но swf, в котором работающий компонент вышеуказанного интерпретатора - занимает всего 7,4 килобайт!!! 

Автор: Maksys 25.5.2006, 00:02
Ты молодец, а macromedia думает как бы побыстрее Blaze выпустить не до eval`ов ей smile 

Автор: szz 25.5.2006, 15:36
Цитата

macromedia думает как бы побыстрее Blaze выпустить


  Да, а раньше она о чем думала?  smile  Эвал можно было еще в пятом сделать. 7 килобайт, ёмаё!  smile  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)