Я написал интерпретатор на JavaScript для небольшого языка, используя jison, который является JS-портом bison. Язык используется для оценки выражений и условий. Сейчас оценка смешана с разбором.
Я пытаюсь его оптимизировать, а узким местом является лексер и парсер. Поэтому я решил разобрать его заранее и оценить только во время выполнения.
Вопрос в том, какой из них быстрее или чище, генерировать код JS раньше и запускать только его или генерировать AST и повторять его во время выполнения?
eval
= вызов компилятора = дорого. - person John Dvorak   schedule 27.11.2012eval
перед тем, как проанализировать его при запуске, а затем запускаю полученную функцию во время выполнения. - person Farid Nouri Neshat   schedule 27.11.2012