1.2, Аноним (-), 18:04, 08/06/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
А чем оно лучше nikic/PHP-Parser. Парсера php на php от одного из ключевых разработчиков самого php?
| |
1.3, Vadym Slizov (?), 18:11, 08/06/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Это полный аналог nikic/PHP-Parser только на Go. Ну и еще он немного быстре, по моим замерам приблизительно в 5 раз.
| |
1.6, Аноним (-), 18:39, 08/06/2018 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
> возможность обработки PHP-файлов с некорректным синтаксисом.
Приличный парсер при обнаружении некорректного синтаксиса должен ругнуться и вылететь. Но не в случае с PHP.
| |
|
2.9, Аноним (-), 19:07, 08/06/2018 [^] [^^] [^^^] [ответить]
| +5 +/– |
Ты не прав, для реадкторов/IDE для любого ЯП это краегоульная фича
| |
|
|
4.14, Vadym Slizov (?), 20:09, 08/06/2018 [^] [^^] [^^^] [ответить]
| +/– |
> собрался выполнять код при помощи подсвечивалки синтаксиса?
Вы очевидно не поняли назначение данной библиотеки. Она не нацелена на исполнение кода. Основное назначение - перевод текстового представления исходников в пригодный для машинной обработки AST. Это как раз нужно для создания IDE, статических анализаторов, утилит автоматизированого рефакторинга либо для сбора метрик.
| |
|
5.15, Аноним (-), 20:20, 08/06/2018 [^] [^^] [^^^] [ответить]
| –3 +/– |
приведи мне IDE, написанную на шаблонизаторе "персонал хоум пейджь"
| |
|
6.16, KonstantinB (ok), 20:29, 08/06/2018 [^] [^^] [^^^] [ответить]
| +/– |
Ты не понял нифига.
Не IDE на PHP, а IDE для PHP.
Вот запускаешь тот же PHPStorm, пишешь невалидный PHP-код, он красненьким подсвечивается. Понятно теперь?
| |
|
7.20, Аноним (-), 20:48, 08/06/2018 [^] [^^] [^^^] [ответить]
| –2 +/– |
а, все, теперь понял. Звиняйте, пацаны. Я опорочил имя Аноним
| |
|
|
|
|
|
|
|
2.13, Vadym Slizov (?), 19:56, 08/06/2018 [^] [^^] [^^^] [ответить]
| +/– |
> а как насчет конвертации полученого AST в go исходники?
В стандартной библиотеки Go присутствует пакет AST и его можно использовать для генерации Go исходников. Самое сложное это сконвертировать абстрактное дерево PHP в абстрактное дерево Go.
Cтруктура этих языков очень разная, и я склонен верить что это практически нереализуемая задача.
| |
|
3.26, Аноним (-), 23:47, 08/06/2018 [^] [^^] [^^^] [ответить]
| +/– |
Почему не реализуемая. Практическую ценность будет иметь продукт, который 90% кода переведет (вполне реально), а 10% снабдит каментом "не шмагла" и оставит как есть. Экономия времени все равно будет нехилая.
| |
|
2.17, KonstantinB (ok), 20:30, 08/06/2018 [^] [^^] [^^^] [ответить]
| +/– |
> а как насчет конвертации полученого AST в go исходники?
Это невозможно. Даже если выбросить eval() и подобное, что делать с нестрогой динамической типизацией?
| |
|
|
4.22, KonstantinB (ok), 21:21, 08/06/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
У FB субсет был недолго, из него получился свой язык Hack, который, хоть и похож на PHP, но совсем не PHP.
Для проекта, который на субсете пишется по определенным правилам, это, конечно, возможно. Но смысла в этом не наблюдаю: существующий сколь-либо крупный проект на сабсет вменяемыми усилиями не переделать. А если писать новый проект - если нужна нормальная типизация и компиляция в нативный код, зачем его вообще писать на PHP, тем более, что ни один фреймворк под такие требования не подойдет?
| |
|
|
|
|