1.6, Аноним (-), 18:39, 08/06/2018 [ответить] [﹢﹢﹢] [ · · · ] [↓] [п╨ п╪п╬п╢п╣я─п╟я┌п╬я─я┐]
| –2 +/– |
> возможность обработки PHP-файлов с некорректным синтаксисом.
Приличный парсер при обнаружении некорректного синтаксиса должен ругнуться и вылететь. Но не в случае с PHP.
| |
|
|
|
4.14, Vadym Slizov (?), 20:09, 08/06/2018 [^] [^^] [^^^] [ответить] [п╨ п╪п╬п╢п╣я─п╟я┌п╬я─я┐]
| +/– |
> собрался выполнять код при помощи подсвечивалки синтаксиса?
Вы очевидно не поняли назначение данной библиотеки. Она не нацелена на исполнение кода. Основное назначение - перевод текстового представления исходников в пригодный для машинной обработки AST. Это как раз нужно для создания IDE, статических анализаторов, утилит автоматизированого рефакторинга либо для сбора метрик.
| |
|
|
|
|
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% снабдит каментом "не шмагла" и оставит как есть. Экономия времени все равно будет нехилая.
| |
|
|
|
4.22, KonstantinB (ok), 21:21, 08/06/2018 [^] [^^] [^^^] [ответить] [п╨ п╪п╬п╢п╣я─п╟я┌п╬я─я┐]
| +1 +/– |
У FB субсет был недолго, из него получился свой язык Hack, который, хоть и похож на PHP, но совсем не PHP.
Для проекта, который на субсете пишется по определенным правилам, это, конечно, возможно. Но смысла в этом не наблюдаю: существующий сколь-либо крупный проект на сабсет вменяемыми усилиями не переделать. А если писать новый проект - если нужна нормальная типизация и компиляция в нативный код, зачем его вообще писать на PHP, тем более, что ни один фреймворк под такие требования не подойдет?
| |
|
|
|
|