XText:ML_COMMENT覆盖自己的书面评论

时间:2017-01-05 08:20:45

标签: xtext xtend

我是xtext的新手。

我想添加以下评论。

  1. ML_COMMENT(来自org.eclipse.xtext.common.Terminals)
  2. 自己的评论

    / *    @var var1    @property property1 * /

  3. 以下是我的尝试代码。

    function battery_charge

    似乎ML_COMMENT有效且自己的评论不起作用。

    如何解决此问题? 请帮忙。

1 个答案:

答案 0 :(得分:0)

您可以将ML_COMMENT覆盖为“其他”

e.g。

ML_COMMENT: '%'->'%';

或者您不从终端继承但复制规则(ML_COMMENT除外)

grammar org.xtext.example.demodsl.DemoDsl hidden(WS, SL_COMMENT)

generate demoDsl "http://www.xtext.org/example/demodsl/DemoDsl"

import "http://www.eclipse.org/emf/2002/Ecore" as ecore
Model:
    greetings+=Greeting*;

Greeting:
    'Hello' name=ID '!';


terminal ID         : '^'?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
terminal INT returns ecore::EInt: ('0'..'9')+;
terminal STRING : 
            '"' ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|'"') )* '"' |
            "'" ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|"'") )* "'"
        ; 
terminal SL_COMMENT     : '//' !('\n'|'\r')* ('\r'? '\n')?;

terminal WS         : (' '|'\t'|'\r'|'\n')+;

terminal ANY_OTHER: .;