Я ищу подходящую пару символов для включения кода шаблона в шаблон для следующей версии нашего собственного механизма шаблонов.
Текущий использует простой {}, но это делает синтаксический анализатор очень сложным, чтобы иметь возможность различать реальные блоки кода и случайные символы {} в буквальном тексте в шаблоне.
Я думаю, что лучше использовать комбинацию из двух символов, например, используемую в asp.net или php, но вопрос в том, какую пару символов символов мне следует использовать, или есть какой-то идеальный символ, который никогда не используется и который легко написать.
Некоторые критерии, которые необходимо заполнить:
- Нельзя изменить с помощью HTMLEncode, источники будут редактироваться через веб-редакторы HTML и обычные текстовые области и должны оставаться неизменными независимо от того, какой редактор используется.
- Regex будет использоваться для очистки частей кода после редактирования в редакторе HTML, который мог закодировать внутреннюю часть блока кода, например & chars.
- Должно быть достаточно легко написано на английской и шведской раскладке клавиатуры.
- Должна быть очень редкой комбинацией, шаблон будет генерировать HTML и текст и может включать в себя текст литералов CSS и Javascript с JSON, поэтому любая комбинация, которая может столкнуться с ними, является плохой, если не очень редкой. Это означает, что {{}} отсутствует, как это может произойти в JSON.
- Код в блоке кода будет содержать пробелы, подчеркивания, доллары и многие другие комбинации, не только имена полей, но и конструкции if / while.
- Парсер генерируется с помощью Antlr
Я ищу предложения и возражения, чтобы найти одну или несколько комбинаций, которые сработали бы в максимально возможном количестве ситуаций, возможно, для нескольких альтернативных пар для разных ситуаций.