Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Style Guide

Boost , ,

Style Guide

В какой-то момент, особенно когда есть много семантических действий, связанных с различными точками, грамматика, как правило, довольно трудно следовать. Для того, чтобы сохранить легко читаемый, последовательный эстетически приятный взгляд на код Духа, рекомендуется следующее руководство по стилю кодирования.

Этот стиль кодирования адаптирован и расширен в соответствии со стилем ANTLR/PCCTS (Terrence Parr) и(Дэвид Абрахамс и Натан Майерс) и является объединенной работой Джоэла де Гусмана, Криса Уздавиниса и Хартмута Кайзера.

  • Имена правил используют конвенцию std C++ (Boost). Название правила может быть очень длинным.
  • «=» - это аккуратно изрезанные 4 пространства ниже. Как и Boost, используйте места вместо вкладок.
  • Разбиение операндов на отдельные линии аккуратно ставит семантические действия вправо.
  • Семиколон на последней строке прекращает действие правила.
  • Соседние части последовательности должны быть изрезаны соответственно, чтобы иметь все, что принадлежит одному уровню, на одном уровне углубления.
    program
        =   program_heading [heading_action]
            >> block [block_action]
            >> '.'
        |   another_sequence
            >> etc
        ;
  • Предпочитают буквы в грамматике вместо идентификаторов. Например."Программа"вместоПРОГРАММА,'>=вместоGTEи.вместоДОТ. Это значительно облегчает чтение. Если это невозможно (например, когда используемые токены должны быть идентифицированы с помощью целых чисел), вместо этого следует использовать капитализированные идентификаторы.
  • Для коротких выражений может не потребоваться разрыв операндов. Например,*(', >>file_identifier), если строка не превышает 80 символов.
  • Если последовательность помещается на одну линию, поместите места внутри скобок, чтобы четко отделить их от правил.
    program_heading
        =   as_lower_d["program"]
            >> identifier
            >> '('
            >> file_identifier
            >> *( ',' >> file_identifier )
            >> ')'
            >> ';'
        ;
  • Включение директив: Если правило не вписывается в одну строку (80 символов), его следует продолжить на следующей строке, предназначенной для одного уровня.
  • Скобки директив, семантических выражений (с использованием выражений Phoenix или LL lambda) или парсеров должны быть размещены следующим образом.
    identifier
        =   nocase
            [
                lexeme
                [
                    alpha >> *(alnum | '_') [id_action]
                ]
            ]
        ;
  • Унитарные операторы (например, звезда Клин)
  • Операторы унитарных правил (Клиновая звезда,'!','+'и т.д.) должна быть перемещена за одно пространство до соответствующего уровня углубления, если это правило имеет тело или последовательность после него, которая не помещается на линии. Это делает форматирование более последовательным и перемещает «тело» правила на том же уровне углубления, что и само правило, выделяя унарного оператора.
    block
        =  *(   label_declaration_part
            |   constant_definition_part
            |   type_definition_part
            |   variable_declaration_part
            |   procedure_and_function_declaration_part
            )
            >> statement_part
        ;


Статья Style Guide раздела может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 06:34:03/0.0081510543823242/1