[#] Обработка препроцессорных директив в Objective-C
habrabot(difrex,1) — All
2017-01-17 13:30:03


Язык программирования с [препроцессорными директивами][1] сложен для обработки, поскольку в этом случае необходимо вычислять значения директив, вырезать ненужные фрагменты некомпилируемого кода, а затем производить парсинг очищенного кода. Обработка директив может осуществляться также во время парсинга обычного кода. Данная статья подробно описывает оба подхода применительно к языку Objective-C, а также раскрывает их достоинства и недостатки. Эти подходы существуют не только в теории, но уже реализованы и используются на практике в таких веб-сервисах, как Swiftify и Codebeat.



[![][2]][3]
**Swiftify** — веб-сервис для преобразования исходников на Objective-C в Swift. На данный момент сервис поддерживает обработку как одиночных файлов, так и целых проектов. Таким образом, он может сэкономить время разработчикам, желающим освоить новый язык от Apple.



[![][4]][5]
**Codebeat** — автоматизированная система для подсчета метрик кода и проведения анализа для различных языков программирования, в том числе и Objective-C.


[Читать дальше →][6]

[1]: https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D1%80%D0%B5%D0%BA%D1%82%D0%B8%D0%B2%D0%B0_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)
[2]: https://habrastorage.org/files/d3c/d53/8db/d3cd538db7604fe3ad10f759a9042d76.jpg
[3]: https://habrahabr.ru/post/318954/
[4]: https://habrastorage.org/files/f81/032/e83/f81032e83f4d45cba5a529fad9df9834.png
[5]: https://habrahabr.ru/post/318954/
[6]: https://habrahabr.ru/post/318954/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut