А почему так сложно с пользовательскими функциями? Просто не очень понятно при чём здесь компиляция.
ну я просто использую это слово как наиболее удобоваримое для восприятия. компиляция это никогда НЕ создание ехе файла на выходе. этим занимается компоновщик (linker).
компилятор переводит код который написан на "человеческом" языке в код который понятен машине (реальной или виртуальной). многие, тот же Андрей, не раз подмечали что код в редакторе отличается от кода, который крутится в памяти КМ. у нас есть препроцессор, который удаляет комментарии, вставляет инклуды и делает из switch пирамидку if'ов. вот этот механизм по хорошему надо очень сильно допилить. в идеале это решит обе задачи: обфускация кода и его ускорение. а если разработать такую модель, то внедрение пользовательских функций будет делом пяти минут. вот что я хотел сказать.
вы правда скорее всего не поняли все равно.
кароче. будь это просто и без подводных камней, давно бы сделал.
Осталось прикрутить возврат в произвольном месте
вот с произвольными местами у нас и беда. я даже не могу толком указать в какой строке ошибка возникла, только привести кусок кода.
не буду сильно вдоваться в подробности, тем более что с ними имею дело только я, но там надо существенно поработать.
КМ изначально не планировался как что то, что он есть сейчас. поэтому многие решения увы это хоть и работающие, но торчащие во все стороны костыли.
а самый яркий их представитель - if_pictire_in с его совершенно уникальным синтаксисом и этими дурацкими $_return