удалить «безымянные» поля в виде схемы xtext eclipse

Недавно я начал работать над eclipse. В eclipse xtext моя грамматика:

regGrp:
    reg_type=reg_type1 "{" reg_definition+=reg_definition1+ "}"
    ;

reg_type1 :
    name="CONTROL_REGISTERS"
    ;

reg_definition1:
    name=ID '[' regSize=INT ']''{' (regFieldssss=regFieldsdefRule) '}'
    ;

regFieldsdefRule:
    name="DESCRIPTION" '=' descStr=STRING ';'
    ;

Затем после Run_as -> Eclipse_application в файле final.sts я могу написать код как:

CONTROL_REGISTERS {
    reg [5] { 
        DESCRIPTION = "register" ;
    }
}

В представлении схемы я получу дерево, как показано ниже:

         ->final
           -> <unnamed>
             -> <unnamed>
               CONTROL_REGISTERS
             -> reg
               -> <unnamed>
                  DESCRIPTION

Я хотел удалить эти поля в дереве структуры. Наконец, дерево контуров должно выглядеть примерно так:

                ->final
                  ->CONTROL_REGISTERS
                    ->reg
                      ->DESCRIPTION

Пожалуйста, кто-нибудь может сказать мне, как это реализовать?


person ziga    schedule 04.03.2013    source источник
comment
Я не могу воспроизвести ваше дерево Outline, учитывая вашу грамматику и ваш вклад. Вы использовали Xtext 2.4?   -  person A.H.    schedule 16.04.2013
comment
Нет, я использую xtext-2.2.1   -  person ziga    schedule 24.04.2013


Ответы (1)


Контур вычисляется с помощью IOutlineTreeProvider. Настройка проекта Xtext по умолчанию создает для вас пустую заглушку в проекте *.ui (с именем MydslnameOulineTreeProvider). Эта заглушка наследует от DefaultOutlineTreeProvider. Внутри заглушки вы можете добавить настройки. Подробнее об этой настройке см. в документации.

person A.H.    schedule 09.03.2013