Описание тега esprima
Esprima is a high performance, standard-compliant JavaScript parser written in JavaScript.
0
ответов
Слияние файлов JS независимо от форматирования. ех. слияние esprima ast's
Знаете ли вы какой-либо инструмент для слияния файла JS в другой, но сохранить форматирование? напр., слияние x({a: 5, b: 6}); в x({ a: 1, b: 2, }); и результат будет x({ a: 5, b: 6, }); вместо конфликта слияния Я думаю, что инструмент, который може…
04 мар '15 в 09:07
1
ответ
escodegen.generate throws Ошибка: неизвестный тип узла: не определено
Ниже приведен код, который я написал `js var esprima = require('esprima'); var escodegen = require('escodegen'); var a = "var a = 2"; var ast = esprima.tokenize(a); var output = escodegen.generate(ast); console.log(output); ` Я могу токенизировать с…
11 янв '19 в 20:16
2
ответа
Существует ли какая-либо инфраструктура, поддерживающая события при посещении узла AST?
Работая с Esprima JavaScript Parser, который генерирует AST в формате JSON из исходного кода JS, я заметил, что было бы удобно, если бы я мог зарегистрировать тип узла (строку) и инициировать события, когда этот тип узла посещается, например, как: A…
27 май '16 в 18:23
1
ответ
Как создать исходную карту JavaScript на основе преобразования AST?
Предположим, что я AST преобразую содержимое файла JavaScript из состояния A в состояние B. Как я могу сделать сопроводительную карту источника? я использую esprima а также estravese (estraverse.replace), чтобы пройти AST (у меня есть исходная карта…
22 янв '17 в 09:10
1
ответ
Как я могу преобразовать пользовательский AST в код JS
В настоящее время я создаю пользовательский AST из новой языковой спецификации, которую я разработал. Этот пользовательский AST содержит различные узлы, которые я разработал со всей необходимой мне информацией, чтобы теперь генерировать код JavaScri…
03 апр '18 в 12:04
0
ответов
Эсприма AST дерево перебирает и модифицирует узел различимого содержимого
Я использую Esprima для создания дерева AST из исходного кода директивы angularjs. var esprima = require("esprima"); var escodegen = require('escodegen'); var estraverse = require('estraverse'); const fs = require('fs'); const testFolder = 'PathForD…
20 окт '17 в 06:34
1
ответ
esprima.js/gulp-strip-debug вмешивается в задачу gulp-jshint, сообщая о бесполезных ошибках при удалении операторов отладчика
Это то, что только что начало происходить вчера, и это вызывает у меня сильную головную боль. Как часть моей сборки для https://arcade.ly/ меня есть check-scripts задача, которая убирает код отладки и запускает jshint для всего моего JavaScript: gul…
17 июн '16 в 11:29
1
ответ
Javascript Object из внешнего файла, программы
Я так запутался в объектной системе JavaScript. Я знаю, что все считается Object в JavaScript, но в этом коде Esprima я не вижу ни одного заявления, чтобы объявить доступ к этому проекту с помощью esrpima, как в следующей строке: ( https://github.co…
10 мар '14 в 01:13
1
ответ
Как определить, используется ли точка с запятой для завершения выражения в Mozilla Parser AST, генерируемого Esprima?
Разработчик создал очень простую программу: var a = 6; var b = 7 console.log(a * b); Я хочу убедиться, что разработчики используют точки с запятой, потому что я не доверяю всем разработчикам знать все правила ASI. Поскольку я буду добавлять другие п…
01 май '14 в 17:57
0
ответов
Какие символы могут быть операторами в JavaScript при использовании Esprima?
Из предыдущего вопроса я узнал, как расширить язык JavaScript для поддержки большего количества операторов (созданных мной). Там @ Бенджамин использовал Esprima и создал # оператор. Используя Esprima, мы можем сделать следующее: esprima.parse("10 # …
20 янв '14 в 16:30
0
ответов
Использование Esprima для поиска необходимых дочерних выражений "for", "var", "function" и т. Д.
Я пытаюсь автоматически сгенерировать правильную пунктуацию для каждого выражения в Javascript. Пример: Я хотел бы взять строку "for" и вернуться ["init", "test", "update", "body"] из которого я мог бы сгенерировать что-то вроде: ["(", ")", "{", "}"…
30 авг '16 в 14:53
1
ответ
ES6 Модуль экспорта по умолчанию синтаксис
Я использую es6-модуль-транспортер, esprima и JSHint с esnext: true опции. JSHint жалуется, когда я положил: export default = { some: 'thing', other: 'thing' }; Но Эсприма жалуется, когда я использую export default { some: 'thing', other: 'thing' };…
25 янв '14 в 00:03
1
ответ
Почему escodegen и esprima генерируют упаковку скобок в моем исходном коде?
Я использую escodegen добавить конечный код в моем заявлении, как показано ниже. В методе отпуска я добавляю .toArray() позвоните в конце заявления. const esprima = require('esprima'); const estraverse = require('estraverse'); const escodegen = requ…
06 сен '17 в 06:23
1
ответ
Требуется регулярное выражение для выполнения основной рекурсивной функции парсеров языка (или помощь в создании плагина Babel)
У меня есть следующее регулярное выражение: /(?:this\.(\w+)\(([\s\S]*?)\))/g он используется для получения кода, подобного следующему: this.doSomething(foo, bar) и заменить его на: this.lookup('doSomething', [foo, bar]) для этого варианта использова…
05 дек '15 в 01:11
2
ответа
loc и range в esprima
Esprima - хорошая библиотека для разбора, анализа для многоцелевого кода javascript. Но я не понимаю loc а также range в esprima. На сайте они сказали, что: loc Узлы имеют информацию о расположении строки и столбца. range Узлы имеют индексный диапаз…
08 дек '15 в 17:19
1
ответ
`esprima` AST Tree: Как легко обнаружить и добавить функцию паренов?
TL;DR: я хочу сделать то же самое, что и там, https://github.com/nolanlawson/optimize-js но с esprima когда я прохожу через дерево AST с estraverse, ESPrima предоставляет одинаковые выходные узлы для следующего кода: !function (){}() а также !(funct…
10 окт '16 в 14:43
3
ответа
Как использовать acorn.js или подобную библиотеку, чтобы добавить новый узел в дерево ast?
Я пытался использовать acorn.js вместе с yeoman для добавления кода в существующие js-файлы. Я пытался работать с esprima и acorn, чтобы выполнить эту работу, но я не могу найти никакой документации о добавлении узла в AST.
19 мар '18 в 06:09
2
ответа
Ошибка генерации кода с помощью escodegen после удаления узла
Сначала я создал esprima AST, то я хочу удалить узел, используя estraverse и, наконец, восстановить код с escodegen, Но я получаю ошибку. Код, который я пытаюсь это: var esprima = require('esprima'); var estraverse = require('estraverse'); var escod…
30 июл '17 в 08:56
1
ответ
Расширьте синтаксис Javascript для добавления набора текста
Я хотел бы расширить JavaScript, чтобы добавить пользовательскую проверку типов. например function test(welcome:string, num:integer:non-zero) { console.log(welcome + num) } который будет компилироваться в: function test(welcome, num) { if(Object.pro…
26 апр '17 в 05:28
2
ответа
Как определить следующие шаблоны кода
У меня есть шаблон JS обещаний, которые я хочу определить для нескольких ключевых слов Например, если я поставлю код как: var deferred = Q.defer(); И в файле у меня также есть следующее соответствующее значение deferred.reject(err); deferred.resolve…
20 янв '16 в 11:19