Так что я работаю над простым микроязыком / альтернативным синтаксисом для PHP.
Его синтаксис во многом основан на JavaScript и CoffeeScript, включая несколько моих собственных концепций. Я вручную написал парсер (генератор парсера не использовался) на PHP, чтобы преобразовать код в PHP и выполнить его. Это скорее доказательство концепции / инструмента обучения, а не чего-то еще, но я бы соврал, если бы сказал, что не хочу, чтобы его использовали в реальном проекте однажды.
В любом случае, вот небольшая проблема, с которой я столкнулся, и я подумал, что навязываю вам великий интеллект:
Как вы знаете в PHP, точка (.) Используется для конкатенации строк. Однако в JavaScript он используется для цепочки методов.
Теперь одна вещь, которая раздражает меня в PHP, это необходимость использовать эту чертову стрелку (->) для цепочек моих методов, поэтому я пошел по пути JavaScript и реализовал точку (.) Для использования с объектами.
(думаю, вы уже видите проблему)
Поскольку в настоящее время я пишу только «тупой» синтаксический анализатор, который просто выполняет огромный поиск и замену, невозможно определить, используется ли точка (.) Для конкатенации или для цепочки методов.
«Так что, если вы пытаетесь быть похожим на JavaScript, просто используйте оператор сложения (+) Franky!», Я слышу, как вы кричите. Что ж, я бы хотел, но поскольку оператор сложения (+) используется для математики в PHP, я бы просто поставил себя в такую же ситуацию.
Если я не смогу сделать свой синтаксический анализатор достаточно умным (с дерьмовым грузом работы), чтобы знать, что когда оператор сложения (+) работает с целыми числами, не превращайте его в точку (.) Для объединения, я довольно сильно прикручен.
Но вот классная вещь. Потому что это в значительной степени новый язык. Мне не нужно использовать точку или оператор сложения для объединения.
Итак, мой вопрос: если бы я решил ввести новый метод конкатенации строк, какой символ имел бы больше смысла?