The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Релиз php-parser 0.5, парсера кода PHP"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Релиз php-parser 0.5, парсера кода PHP"  +/
Сообщение от opennews (??) on 08-Июн-18, 17:58 
Подготовлен (https://github.com/z7zmey/php-parser/releases/tag/v0.5.0) новый выпуск php-parser (https://github.com/z7zmey/php-parser), библиотеки для синтаксического разбора исходного кода на языке  PHP в абстрактное синтаксическое дерево. Полностью поддерживается синтаксис PHP 5 и PHP 7, включая разбор пространств имён
и возможность обработки PHP-файлов  с некорректным синтаксисом. Проект может использоваться для создания статических анализаторов, утилит рефакторинга и сбора метрик. Код проекта написан на языке Go c использованием библиотек goyacc (https://godoc.org/golang.org/x/tools/cmd/goyacc) и golex (https://github.com/cznic/golex), и распространяется (https://github.com/z7zmey/php-parser) под лиценизей MIT.

URL: https://github.com/z7zmey/php-parser/releases/tag/v0.5.0
Новость: https://www.opennet.dev/opennews/art.shtml?num=48739

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Релиз php-parser 0.5, парсера кода PHP"  +6 +/
Сообщение от Аноним (??) on 08-Июн-18, 17:58 
Парсер пхп на go? Надо было на js делать для полноты картины
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Релиз php-parser 0.5, парсера кода PHP"  +2 +/
Сообщение от Аноним (??) on 08-Июн-18, 18:57 
Тогда уж на пхп
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

11. "Релиз php-parser 0.5, парсера кода PHP"  +2 +/
Сообщение от Аноним (??) on 08-Июн-18, 19:28 
парсер на PHP уже написан и встроен в PHP
http://php.net/manual/ru/function.token-get-all.php
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

24. "Релиз php-parser 0.5, парсера кода PHP"  +1 +/
Сообщение от Шерстяной on 08-Июн-18, 21:51 
https://github.com/nikic/PHP-Parser

не благодарите

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

27. "Релиз php-parser 0.5, парсера кода PHP"  –1 +/
Сообщение от Григорий Федорович Конин on 08-Июн-18, 23:54 
для чего вам хватит? Оно же ни в неймспейсы, ни даже в классы не умеет.
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

25. "Релиз php-parser 0.5, парсера кода PHP"  +/
Сообщение от trdm (ok) on 08-Июн-18, 22:13 
а мне и на сях хватит:
https://github.com/universal-ctags/ctags/blob/master/parsers...
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Релиз php-parser 0.5, парсера кода PHP"  +2 +/
Сообщение от Аноним (??) on 08-Июн-18, 18:04 
А чем оно лучше nikic/PHP-Parser. Парсера php на php от одного из ключевых разработчиков самого php?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Релиз php-parser 0.5, парсера кода PHP"  +/
Сообщение от Vadym Slizov email on 08-Июн-18, 18:11 
Это полный аналог nikic/PHP-Parser только на Go. Ну и еще он немного быстре, по моим замерам приблизительно в 5 раз.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Релиз php-parser 0.5, парсера кода PHP"  +3 +/
Сообщение от Аноним (??) on 08-Июн-18, 18:14 
personal home parser
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Релиз php-parser 0.5, парсера кода PHP"  –2 +/
Сообщение от Аноним (??) on 08-Июн-18, 18:39 
> возможность обработки PHP-файлов с некорректным синтаксисом.

Приличный парсер при обнаружении некорректного синтаксиса должен ругнуться и вылететь. Но не в случае с PHP.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Релиз php-parser 0.5, парсера кода PHP"  +/
Сообщение от Аноним (??) on 08-Июн-18, 19:06 
для PHP парсер с такой логикой пишется в три строчки...
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

9. "Релиз php-parser 0.5, парсера кода PHP"  +5 +/
Сообщение от Аноним (??) on 08-Июн-18, 19:07 
Ты не прав, для реадкторов/IDE для любого ЯП это краегоульная фича
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

12. "Релиз php-parser 0.5, парсера кода PHP"  –3 +/
Сообщение от Аноним (??) on 08-Июн-18, 19:47 
собрался выполнять код при помощи подсвечивалки синтаксиса?
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

14. "Релиз php-parser 0.5, парсера кода PHP"  +/
Сообщение от Vadym Slizov email on 08-Июн-18, 20:09 
> собрался выполнять код при помощи подсвечивалки синтаксиса?

Вы очевидно не поняли назначение данной библиотеки. Она не нацелена на исполнение кода. Основное назначение - перевод текстового представления исходников в пригодный для машинной обработки AST. Это как раз нужно для создания IDE, статических анализаторов, утилит автоматизированого рефакторинга либо для сбора метрик.

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

15. "Релиз php-parser 0.5, парсера кода PHP"  –3 +/
Сообщение от Аноним (??) on 08-Июн-18, 20:20 
приведи мне IDE, написанную на шаблонизаторе "персонал хоум пейджь"
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

16. "Релиз php-parser 0.5, парсера кода PHP"  +/
Сообщение от KonstantinB (ok) on 08-Июн-18, 20:29 
Ты не понял нифига.

Не IDE на PHP, а IDE для PHP.

Вот запускаешь тот же PHPStorm, пишешь невалидный PHP-код, он красненьким подсвечивается. Понятно теперь?

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

20. "Релиз php-parser 0.5, парсера кода PHP"  –2 +/
Сообщение от Аноним (??) on 08-Июн-18, 20:48 
а, все, теперь понял. Звиняйте, пацаны. Я опорочил имя Аноним
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

21. "Релиз php-parser 0.5, парсера кода PHP"  +1 +/
Сообщение от Vadym Slizov email on 08-Июн-18, 20:51 
> приведи мне IDE, написанную на шаблонизаторе "персонал хоум пейджь"

https://github.com/felixfbecker/php-language-server реализует функции IDE для VSCode. А под капотом использует https://github.com/microsoft/tolerant-php-parser который, между прочим, тоже написан на PHP.

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

10. "Релиз php-parser 0.5, парсера кода PHP"  +/
Сообщение от Аноним (??) on 08-Июн-18, 19:23 
а как насчет конвертации полученого AST в go исходники?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Релиз php-parser 0.5, парсера кода PHP"  +/
Сообщение от Vadym Slizov email on 08-Июн-18, 19:56 
> а как насчет конвертации полученого AST в go исходники?

В стандартной библиотеки Go присутствует пакет AST и его можно использовать для генерации Go исходников. Самое сложное это сконвертировать абстрактное дерево PHP в абстрактное дерево Go.
Cтруктура этих языков очень разная, и я склонен верить что это практически нереализуемая задача.

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

26. "Релиз php-parser 0.5, парсера кода PHP"  +/
Сообщение от Аноним (??) on 08-Июн-18, 23:47 
Почему не реализуемая. Практическую ценность будет иметь продукт, который 90% кода переведет (вполне реально), а 10% снабдит каментом "не шмагла" и оставит как есть. Экономия времени все равно будет нехилая.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

17. "Релиз php-parser 0.5, парсера кода PHP"  +/
Сообщение от KonstantinB (ok) on 08-Июн-18, 20:30 
> а как насчет конвертации полученого AST в go исходники?

Это невозможно. Даже если выбросить eval() и подобное, что делать с нестрогой динамической типизацией?

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

19. "Релиз php-parser 0.5, парсера кода PHP"  +/
Сообщение от Аноним (??) on 08-Июн-18, 20:45 
Субсет. У FB было параллельно с LLVM, не помню, как называлось.
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

22. "Релиз php-parser 0.5, парсера кода PHP"  +1 +/
Сообщение от KonstantinB (ok) on 08-Июн-18, 21:21 
У FB субсет был недолго, из него получился свой язык Hack, который, хоть и похож на PHP, но совсем не PHP.

Для проекта, который на субсете пишется по определенным правилам, это, конечно, возможно. Но смысла в этом не наблюдаю: существующий сколь-либо крупный проект на сабсет вменяемыми усилиями не переделать. А если писать новый проект - если нужна нормальная типизация и компиляция в нативный код, зачем его вообще писать на PHP, тем более, что ни один фреймворк под такие требования не подойдет?

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

28. "Релиз php-parser 0.5, парсера кода PHP"  +/
Сообщение от Аноним (??) on 09-Июн-18, 03:22 
А на чем тогда писать?
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру