|
Не удаётся найти подходящую библиотеку для парсинга js на C#
|
|||
---|---|---|---|
#18+
Текст вопроса и требования к либе я разместил здесь : ru.stackoverflow.com/questions/567215/c-Бибилиотека-для-парсинга-javascript Выручайте , кто может , плиз. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2016, 17:41 |
|
Не удаётся найти подходящую библиотеку для парсинга js на C#
|
|||
---|---|---|---|
#18+
DrillDrive, чем Antlr3 не подходит? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2016, 18:05 |
|
Не удаётся найти подходящую библиотеку для парсинга js на C#
|
|||
---|---|---|---|
#18+
TimeCoder, Antlr3 используют для создания парсера своего как и компилятора к нему под свою грамматику. Иными словами это стопудово не то. А как её под javascript подогнать, чтобы использовать в visual studio я не знаю. Единственная зацепка , так это тока создать файл с расширением g для представления грамматики Но опять же , в коде C# не фига не понятно как юзать это. Ну нет в доке на гитхабе примера хотя бы простого , например парсинг этого кусочка "alert('Hi. I am parsed :)')". ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2016, 18:13 |
|
Не удаётся найти подходящую библиотеку для парсинга js на C#
|
|||
---|---|---|---|
#18+
DrillDrive, для Antlr3 (как и других популярных либ парсинга) есть куча готовых файлов-грамматик, под все основные языки программирования, и JS в том числе. Берете эту грамматику, генерите парсер, добавляете Visitor, скармливаете свой код, получаете AST. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2016, 18:32 |
|
Не удаётся найти подходящую библиотеку для парсинга js на C#
|
|||
---|---|---|---|
#18+
DrillDrive, с версией промазал, 4-й уже antlr, а вот собственно ecma (по версии не скажу, но непонятно, что вам нужно, v8 - это движок, а не спецификация языка): https://github.com/antlr/grammars-v4/tree/master/ecmascript Примеров полно) но вечер придется посидеть. В Antlr есть утилита, там вставляется код, грамматика, и она показывает результат парсинга (лексемы и пр.). Но опять же, это когда для кастомного языка писать грамматику - тот еще челендж, а для известного все готово. Я на Antlr написал большую IDE, и по скорости хорошо работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2016, 18:44 |
|
Не удаётся найти подходящую библиотеку для парсинга js на C#
|
|||
---|---|---|---|
#18+
TimeCoder, Круто. Ну тогда ладно. Попробую ещё потужиться с Antlr. Если будут ошибки ,в генерации .g файла или какие-нибудь другие , то я вам ещё напишу , ок ? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2016, 18:56 |
|
Не удаётся найти подходящую библиотеку для парсинга js на C#
|
|||
---|---|---|---|
#18+
DrillDrive, пишите прямо тут, для этого форум и нужен) Если берете готовый g4 для JS там ошибок нет. Нужно только сгенерить на его основе все, что нужно. И подхватить в C# коде. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2016, 19:09 |
|
Не удаётся найти подходящую библиотеку для парсинга js на C#
|
|||
---|---|---|---|
#18+
TimeCoder, Да. Оказвыается есть инструкция на пользовании грамматики а проекте VS. Из неё как раз https://github.com/tunnelvisionlabs/antlr4cs я выполнил всё Я уже дошёл до этой темы Configure the compile-time options for a grammar in the project Дальше я пока не представляю , что делать с файлом грамматики: не получается с ним сделать два пункта: Using the ANTLR Language Support extension(не могу при открытии свойств файла найти Display Name) Manually editing the project file(хз где искать XML элемент с сгенерированным свойством MSBuilt , чтобы убедится , что мой файл грамматики .g4 всосался в сборку или нет) Да и потом как использовать потом этот файл грамматики при написании кода для начала процесса разбора скрипта. Первые два элемента списка объясните по подробнее как только можете. А то я настолько сильно функционал VS не знвю. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2016, 00:06 |
|
Не удаётся найти подходящую библиотеку для парсинга js на C#
|
|||
---|---|---|---|
#18+
DrillDrive, выкладывайте что есть на GitHub, я сделаю форк, покопаем. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2016, 10:46 |
|
Не удаётся найти подходящую библиотеку для парсинга js на C#
|
|||
---|---|---|---|
#18+
TimeCoderвыкладывайте что есть на GitHub Это обязательно на GitHub ? Там обычно пользователи не хранят недоработанные проекты. Может быть договоримся , что я архив с проектом кину на форум , а ? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2016, 15:27 |
|
Не удаётся найти подходящую библиотеку для парсинга js на C#
|
|||
---|---|---|---|
#18+
Можно на bitbucket сделать приватный hg-репозиторий. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2016, 15:36 |
|
Не удаётся найти подходящую библиотеку для парсинга js на C#
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, уже сделал. https://bitbucket.org/slash105/jsastvisitor/downloads Сча я качаю Git клиент соответствующий. Плохо , что я пока не врубаю , как там создать Source Tree из rar файла. Впервые в жизни это использую ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2016, 16:09 |
|
Не удаётся найти подходящую библиотеку для парсинга js на C#
|
|||
---|---|---|---|
#18+
DrillDrive, можно хоть как, просто репозиторий облегчает review, хранит и шарит знания. В каком состоянии выкладывать код на GitHub - это всецело ваше право, это платформа для активной разработки, а не музей. Можно и bitbucket, без разницы. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2016, 16:16 |
|
Не удаётся найти подходящую библиотеку для парсинга js на C#
|
|||
---|---|---|---|
#18+
DrillDriveTimeCoder, Да. Оказвыается есть инструкция на пользовании грамматики а проекте VS. Из неё как раз https://github.com/tunnelvisionlabs/antlr4cs я выполнил всё Я уже дошёл до этой темы Configure the compile-time options for a grammar in the project Дальше я пока не представляю , что делать с файлом грамматики: не получается с ним сделать два пункта: Using the ANTLR Language Support extension(не могу при открытии свойств файла найти Display Name) Manually editing the project file(хз где искать XML элемент с сгенерированным свойством MSBuilt , чтобы убедится , что мой файл грамматики .g4 всосался в сборку или нет) Да и потом как использовать потом этот файл грамматики при написании кода для начала процесса разбора скрипта. Первые два элемента списка объясните по подробнее как только можете. А то я настолько сильно функционал VS не знвю. Делай по аналогии Код: xml 1. 2. 3. 4. 5. 6. 7. 8.
http://elemarjr.com/en/2016/04/21/learning-antlr4-part-1-quick-overview/ ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2016, 16:50 |
|
Не удаётся найти подходящую библиотеку для парсинга js на C#
|
|||
---|---|---|---|
#18+
TimeCoder, я лучше пошлю проект сюда тогда. Так как Git написан под *nix подобные платформы , а я юзаю windows. Я её качнул , а как запустить на винде, понятия не имею да и у меня нет времени выяснять ). Вот мой VS проект: ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2016, 18:35 |
|
Не удаётся найти подходящую библиотеку для парсинга js на C#
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2016, 18:45 |
|
Не удаётся найти подходящую библиотеку для парсинга js на C#
|
|||
---|---|---|---|
#18+
TimeCoder, вы мой проект видели ? Если нет , то я на всякий случай даю вам другую ссылку(на проект моего репозитория): https://slash105@bitbucket.org/slash105/jsastvisitor.git]https://slash105@bitbucket.org/slash105/jsastvisitor.git Если вы не сможете её скачать , то дайте мне знать и яэтот проект выложу на форум если что. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2016, 00:44 |
|
Не удаётся найти подходящую библиотеку для парсинга js на C#
|
|||
---|---|---|---|
#18+
Береш файл https://github.com/antlr/grammars-v4/blob/master/ecmascript/ECMAScript.CSharpTarget.g4 и добавляешь в корень проекта В файл проекта дописываешь Код: xml 1. 2. 3. 4. 5. 6. 7. 8.
предварительно открыв его например в блокноте Перекомпилируешь и пользуешь парсер ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2016, 07:30 |
|
Не удаётся найти подходящую библиотеку для парсинга js на C#
|
|||
---|---|---|---|
#18+
DrillDrive, сделайте репозиторий открытым) чего скрывать-то? Не могу зайти. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2016, 11:29 |
|
Не удаётся найти подходящую библиотеку для парсинга js на C#
|
|||
---|---|---|---|
#18+
TimeCoder, всё. Я открыл доступ ))). ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2016, 16:50 |
|
Не удаётся найти подходящую библиотеку для парсинга js на C#
|
|||
---|---|---|---|
#18+
DrillDrive, отлично) FYI: packages, .vs, *.suo, *.user, \bin\, \obj\ - вот это все надо заносить в .gitignore, и не выкладывать в репозиторий. По Antlr4 выше хорошую ссылку дали, попробуйте хоть что-то для начала сделать. В частности, вот такой у меня скрипт на генерацию: java -jar "..\..\packages\Antlr4.4.5.3-rc1\tools\antlr4-csharp-4.5.3-SNAPSHOT-complete.jar" -Dlanguage=CSharp_v4_5 -package ItelParser -o Generated itel.g4 где вам надо подставить файл грамматики JS вместо itel, ну и название namespace свое дать. И версия Antlr4 сейчас наверняка поновее есть (не RC). Сам jar-файл можно найти в packages. Еще через Extensions & Updates в VS можно подключить плагин Antlr, он подсвечивает синтаксис при редактировании грамматик. А в составе самого Antlr есть упомянутая в статье утилита, показывающая графически парсинг. Попробуйте ее на примере простого js-кода. Попробуйте выполнить скрипт, чтобы сгенерировались C#-классы. И потом их включите в свой проект, можно будет писать код, как с их помощью парсить. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2016, 17:27 |
|
Не удаётся найти подходящую библиотеку для парсинга js на C#
|
|||
---|---|---|---|
#18+
DrillDrive, Лови ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2016, 18:42 |
|
Не удаётся найти подходящую библиотеку для парсинга js на C#
|
|||
---|---|---|---|
#18+
ЕвгенийВ, простите. Просто я сразу не сообразил. Скажите. А что делать с тегом <CustomToolNamespace></CustomToolNamespace> ? Там в качестве содержимого какой путь к проекту должен стоять ? Точно ECMAScript ? Или какое точно пространство имён ? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2016, 19:03 |
|
Не удаётся найти подходящую библиотеку для парсинга js на C#
|
|||
---|---|---|---|
#18+
ЕвгенийВ, ааа. Понял. Счас вставлю эту сборку ECMAScript.dll в проект. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2016, 19:06 |
|
Не удаётся найти подходящую библиотеку для парсинга js на C#
|
|||
---|---|---|---|
#18+
DrillDrive, Запусти визитор по аналогии http://elemarjr.com/en/2016/04/21/learning-antlr4-part-1-quick-overview/ ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2016, 20:29 |
|
|
start [/forum/topic.php?fid=20&msg=39316333&tid=1400326]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 159ms |
0 / 0 |