А напишу ка я тоже эту херню ради прикола)) чисто на регулярках)
|
Я вот думаю сделать просто регулярками, или построить синтаксическое дерево и кукарекать от него но строить я их не умею придется опять лвл апать собственным опытом) так что сделаю просто регулярками и реплейсами
|
Судя по новым коммитам defs.js довольно скоро реализует хорошую поддержку ECMA6, уже добавлены тесты для: классов, деструктуризации и параметрам по умолчанию.
|
Как я понял ECMA это только синтаксис и родные обьекты? А кто тогда отвечает за внедрение объектов окружения?
Всяких Object.observe или Object.proxy например, ведь их стандартными средствами не реализовать? Или это не обьект окружения а родной считается, тогда .proxy и .observe должны быть прописаны в ECMA каком-то? |
Пасоны короче строю дерево, там есть такая штука как контекст он содержит список выражений список переменных и список функций объявленных в нем, внимание вопрос) как называются вот эти вот операции разделенные точками с запятой? как назвать их список?
expressions? но там могут быть как выражения так и блоки же или итераторы всякие. по этому не православно называть так. так как быть? может "конструкции"? |
Все понял, сделаю так же как делал с UI я создам классы типа для токенов текстовых функция скобка и.т.п. и соберу массив из этих токенов а потом буду пробегаться оп этому массиву и собирать конструкции, в дерево. То есть надо вначале текст на кубика распарить а потом с ними уже работать, а то я весь мозг сломал как регуляркой функции выдирать) лол
|
![]() Это зашквар же Ты там наверное используешь 20 мерные кубы из матриц таблиц, для ускорения выборки, не? Я слышал так все нормальные масоны делают. Ибо памяти в наше время хоть жопой жри. |
Добавил поддержку именованных параметров функций, исправил кое-какие баги и т.д. Обновил на гитхабе и в npm.
function foo({name, body: lastName}) { name; lastName; } Поддержку значений по умолчанию для именованных параметров не стал делать, т.к. не поддерживается штормом. ЗЫ: запилил ридми на гитхабе |
А я короче пишу минишаблонизатор для конструкций, типа регулярок тока выше уровнем) конструкции состоят из токенов, и я могу указывать какие токены могут идти а какие нет)
например шаблон конструкции "функция" выглядит так 'function \( (word,?)* \) \{ .* \}' то есть как регулярки тока за место слов там названия токенов, некоторые названия , например открывающая скобка, приходится экранировать, а чтобы не экранировать можно было назвать типа открСкобка и шаблон выгладил бы так: 'function открСкобка (word,?)* закрСкобка открФигурнСкобка .* закрФигурнСкобка' Ну короче пишу чо то типа языка для описания конструкций) чтобы потом не ебаца и добавлять разные плюшки в интерпритатор) крута да)? Ну или например описать конструкцию "блок" научить его отсчитывать одинаковое количество открывающих скобочек и закрывающий а в шаблоне функции писать просто 'function \( (word,?)* \) \{ блок \}' Короче есть где разгуляться) kobezzza, короче сяп за вдохновение) |
kobezzza, так ты ничего серьезного не сделаешь, погугли лучше по "esprima escodegen".
UPD: http://sssslide.com/speakerdeck.com/...t-ast-as-an-ir |
Часовой пояс GMT +3, время: 23:45. |