Re: сталобыть в Иордании никого не нашли?sevrukNovember 11 2013, 11:14:53 UTC
Невнимательно прочитали предыдущий вариант. Человек в Иордании давно работает. И его работа обходится намного дешевле, чем ЗП опытного разработчика здесь.
В итоге получится пхп код, в котором из синтаксических ошибок могут быть только ошибки со скобочками. А поскольку думать лень, то проверку полученного кода будет делать интерпритатор (который, кстати, сработает быстрее, чем код считающий скобочки).
А вообще, самое нетяжёлое решение наверно такое: - убрать из строки все не скобочки - выпиливать в цикле (не рекурсивно!) все "{}" пока либо строка не кончится, либо таких последовательностей не останется - если в результате строка не пустая, - в коде ошибка
Т.к. замена не по регулярному выражению наименее ресурсоёмкая. Однако, если строка достаточно длинная (в условиях задачи ничего не говорилось о размерах) - не сработает. Но таких пхп файлов не бывает :)
Comments 11
Reply
Reply
Reply
Reply
(The comment has been removed)
Reply
(The comment has been removed)
Ответ "Моя нетленка определит ошибку на первом символе: закрывающая скобка, не имеющая перед собой открывающую." принят :)
Reply
А вообще, "всё что не скобочки" заменить на что-нибудь типа "$a = 1;" и пусть интерпритатор проверяет :)
Reply
Reply
Reply
- убрать из строки все не скобочки
- выпиливать в цикле (не рекурсивно!) все "{}" пока либо строка не кончится, либо таких последовательностей не останется
- если в результате строка не пустая, - в коде ошибка
Т.к. замена не по регулярному выражению наименее ресурсоёмкая. Однако, если строка достаточно длинная (в условиях задачи ничего не говорилось о размерах) - не сработает. Но таких пхп файлов не бывает :)
Reply
Leave a comment