Я немного ошеломлен каким-то кодом, который связан со сторонней кодовой базой, с которой я работаю.Весь код написан на C или ассемблере, за исключением ряда файлов, придерживающихся синтаксиса, описанного ниже.Я не могу найти никакой документации по этому синтаксису, но GCC проглотит его без проблем.Это GCC 8, с которым я работаю.Syntac должен быть некоторым расширением GCC.Было бы очень хорошо, если бы кто-нибудь мог объяснить мне, что это за расширение и где оно задокументировано.
Код, очевидно, определяет типы структуры с упаковкой и использует такой синтаксис:
- Строки комментариев начинаются с "-"
- Ключевыми словами являются "block", "padding", "field" и "field_high", возможно, больше.Типичный фрагмент кода выглядит следующим образом:
block <BLOCK_NAME> {
field <FIELD_NAME_NO_1> 1
field <FIELD_NAME_NO_2> 1
padding 8
field_high <FIELD_NAME_NO_3> 6
}
Блок может содержать любое количество полей и полей.Указанные числа всегда добавляют к длине слова в целевой архитектуре.
Файлы, содержащие этот вид кода, чаще всего имеют расширение «.bf», в то время как «.c» также может встречаться.В некоторых файлах # include ссылается на обычные заголовки C, в то время как в некоторых обычных файлах C #include ссылается на файлы ".bf".