Я поклонник чистого кода. Мне нравятся мои языки, чтобы выразить то, что я пытаюсь сделать, но мне нравится синтаксис, чтобы это отразить.Расширение Python и Objective-C
Например, я работаю над множеством программ в Objective-C для jailbroken iPhones, которые исправляют другой код, используя функцию method_setImplementation()
времени выполнения. Или, в PyObjC, я должен использовать синтаксис UIView.initWithFrame_()
, который также довольно ужасен и нечитабелен тем, как структурируются имена методов. В обоих случаях язык не поддерживает это в синтаксисе. Я нашел три основных способа, которым это делается:
- Insane macros. Взгляните на это «CaptainHook», он делает то, что я ищет в удобном виде, но он не совсем чист и является крупным взломом.
- Существует также «Логос», который реализует очень хороший синтаксис, но является написанным на Perl, анализирующим мой код с тонны регулярных выражений. Это пугает меня. Мне нравится идея добавления a% hook ClassName, но не с помощью регулярных выражений для синтаксического анализа C или Objective-C.
- И, наконец, есть Cycript. Это расширение JavaScript, который интерфейсы с выполнения Objective-C и позволяет использовать Objective-C код стиля в вашем JavaScript, и ввести это в другие процессы. Это, скорее всего, самый чистый, поскольку на самом деле он использует парсер для JavaScript, но я не являюсь огромным поклонником этого языка в целом.
Должен ли я создавать расширение для Python и Objective-C, чтобы позволить мне это сделать? Стоит ли писать синтаксический анализатор для моего языка, чтобы преобразовать синтаксис во что-то приятнее, если он находится только в такой специализированной нише? Должен ли я просто жить с ужасным синтаксисом привязки Objective-C по умолчанию или PyObjC?
Кажется, что это ваш зуд, поэтому решение поцарапать его также похоже на ваше. Нет? – dmckee
Ваш вопрос немного неясен для меня. Вы спрашиваете, нужно ли создавать какой-то пользовательский синтаксический аддон для Python и Objective-C? –
Да, в основном. –