Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 8 additions & 5 deletions oap-formats/oap-template/src/main/antlr4/TemplateGrammar.g4
Original file line number Diff line number Diff line change
Expand Up @@ -36,20 +36,21 @@ elements[Map<String,String> aliases] returns [Elements ret = new Elements()]
element[Map<String,String> aliases] returns [Element ret]
: t=text { $ret = new TextElement( $t.text ); }
| comment { $ret = new TextElement( $comment.text.substring(1) ); }
| expression[aliases] { $ret = new ExpressionElement( $expression.ret ); }
| expression[aliases] { $ret = new ExpressionElement( $expression.ret, $expression.trimLeft, $expression.trimRight ); }
| blockIfElement[aliases] { $ret = $blockIfElement.ret; }
;

blockIfElement[Map<String,String> aliases] returns [BlockIfElement ret]
: STARTBLOCKIF BLOCK_IF_CONTENT BLOCK_IF_RBRACE
: (STARTBLOCKIF | STARTBLOCKIF_LTRIM) BLOCK_IF_CONTENT BLOCK_IF_RBRACE
thenBranch=blockBody[aliases]
( STARTBLOCKELSE elseBranch=blockBody[aliases] )?
STARTBLOCKEND
{
$ret = new BlockIfElement(
StringUtils.trim( $BLOCK_IF_CONTENT.text ),
$thenBranch.ret,
$elseBranch.ctx != null ? $elseBranch.ret : null
$elseBranch.ctx != null ? $elseBranch.ret : null,
$start.getType() == STARTBLOCKIF_LTRIM
);
}
;
Expand All @@ -68,9 +69,11 @@ comment
: STARTESCEXPR expressionContent RBRACE;


expression[Map<String,String> aliases] returns [String ret]
: (STARTEXPR|STARTEXPR2) expressionContent (RBRACE|RBRACE2) {
expression[Map<String,String> aliases] returns [String ret, boolean trimLeft, boolean trimRight]
: (STARTEXPR|STARTEXPR2|STARTEXPR2_LTRIM) expressionContent (RBRACE|RBRACE2|RBRACE2_RTRIM) {
$ret = StringUtils.trim( $expressionContent.text );
$trimLeft = $start.getType() == STARTEXPR2_LTRIM;
$trimRight = _input.LT(-1).getType() == RBRACE2_RTRIM;
String alias = aliases.get( $ret );
if( alias != null ) $ret = alias;
};
Expand Down
21 changes: 12 additions & 9 deletions oap-formats/oap-template/src/main/antlr4/TemplateLexer.g4
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,15 @@ fragment EndExpr2 : '}}' ;



STARTBLOCKIF : '{{%' [ \t]* 'if' [ \t]+ -> pushMode(BlockIfContent) ;
STARTBLOCKELSE : '{{%' [ \t]* 'else' [ \t]* '}}' ;
STARTBLOCKEND : '{{%' [ \t]* 'end' [ \t]* '}}' ;
STARTBLOCKIF_LTRIM : '{{%-' [ \t]* 'if' [ \t]+ -> pushMode(BlockIfContent) ;
STARTBLOCKIF : '{{%' [ \t]* 'if' [ \t]+ -> pushMode(BlockIfContent) ;
STARTBLOCKELSE : '{{%' [ \t]* 'else' [ \t]* '}}' ;
STARTBLOCKEND : '{{%' [ \t]* 'end' [ \t]* '}}' ;

STARTESCEXPR: StartEscExpr -> pushMode(Expression) ;
STARTEXPR : StartExpr -> pushMode(Expression) ;
STARTEXPR2 : StartExpr2 -> pushMode(Expression2) ;
STARTESCEXPR : StartEscExpr -> pushMode(Expression) ;
STARTEXPR : StartExpr -> pushMode(Expression) ;
STARTEXPR2_LTRIM : '{{-' -> pushMode(Expression2) ;
STARTEXPR2 : StartExpr2 -> pushMode(Expression2) ;

TEXT : . ;

Expand All @@ -29,10 +31,11 @@ EXPRESSION : . ;

mode Expression2;

LBRACE2 : LBrace -> pushMode(Expression) ;
RBRACE2 : EndExpr2-> popMode ;
LBRACE2 : LBrace -> pushMode(Expression) ;
RBRACE2_RTRIM : '-}}' -> popMode ;
RBRACE2 : EndExpr2 -> popMode ;

EXPRESSION2 : . ;
EXPRESSION2 : . ;

mode BlockIfContent;
BLOCK_IF_CONTENT : ~[}]+ ;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,35 @@ null
null
null
null
'{{-'
null
null
null
null
null
null
'-}}'
null
null
null
'}}'

token symbolic names:
null
STARTBLOCKIF_LTRIM
STARTBLOCKIF
STARTBLOCKELSE
STARTBLOCKEND
STARTESCEXPR
STARTEXPR
STARTEXPR2_LTRIM
STARTEXPR2
TEXT
LBRACE
RBRACE
EXPRESSION
LBRACE2
RBRACE2_RTRIM
RBRACE2
EXPRESSION2
BLOCK_IF_CONTENT
Expand All @@ -46,4 +52,4 @@ expressionContent


atn:
[4, 1, 15, 79, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 1, 0, 1, 0, 1, 0, 5, 0, 20, 8, 0, 10, 0, 12, 0, 23, 9, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 39, 8, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 47, 8, 2, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 5, 3, 55, 8, 3, 10, 3, 12, 3, 58, 9, 3, 1, 4, 4, 4, 61, 8, 4, 11, 4, 12, 4, 62, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 4, 7, 75, 8, 7, 11, 7, 12, 7, 76, 1, 7, 0, 0, 8, 0, 2, 4, 6, 8, 10, 12, 14, 0, 3, 1, 0, 5, 6, 2, 0, 9, 9, 12, 12, 1, 0, 8, 13, 78, 0, 21, 1, 0, 0, 0, 2, 38, 1, 0, 0, 0, 4, 40, 1, 0, 0, 0, 6, 56, 1, 0, 0, 0, 8, 60, 1, 0, 0, 0, 10, 64, 1, 0, 0, 0, 12, 68, 1, 0, 0, 0, 14, 74, 1, 0, 0, 0, 16, 17, 3, 2, 1, 0, 17, 18, 6, 0, -1, 0, 18, 20, 1, 0, 0, 0, 19, 16, 1, 0, 0, 0, 20, 23, 1, 0, 0, 0, 21, 19, 1, 0, 0, 0, 21, 22, 1, 0, 0, 0, 22, 24, 1, 0, 0, 0, 23, 21, 1, 0, 0, 0, 24, 25, 5, 0, 0, 1, 25, 1, 1, 0, 0, 0, 26, 27, 3, 8, 4, 0, 27, 28, 6, 1, -1, 0, 28, 39, 1, 0, 0, 0, 29, 30, 3, 10, 5, 0, 30, 31, 6, 1, -1, 0, 31, 39, 1, 0, 0, 0, 32, 33, 3, 12, 6, 0, 33, 34, 6, 1, -1, 0, 34, 39, 1, 0, 0, 0, 35, 36, 3, 4, 2, 0, 36, 37, 6, 1, -1, 0, 37, 39, 1, 0, 0, 0, 38, 26, 1, 0, 0, 0, 38, 29, 1, 0, 0, 0, 38, 32, 1, 0, 0, 0, 38, 35, 1, 0, 0, 0, 39, 3, 1, 0, 0, 0, 40, 41, 5, 1, 0, 0, 41, 42, 5, 14, 0, 0, 42, 43, 5, 15, 0, 0, 43, 46, 3, 6, 3, 0, 44, 45, 5, 2, 0, 0, 45, 47, 3, 6, 3, 0, 46, 44, 1, 0, 0, 0, 46, 47, 1, 0, 0, 0, 47, 48, 1, 0, 0, 0, 48, 49, 5, 3, 0, 0, 49, 50, 6, 2, -1, 0, 50, 5, 1, 0, 0, 0, 51, 52, 3, 2, 1, 0, 52, 53, 6, 3, -1, 0, 53, 55, 1, 0, 0, 0, 54, 51, 1, 0, 0, 0, 55, 58, 1, 0, 0, 0, 56, 54, 1, 0, 0, 0, 56, 57, 1, 0, 0, 0, 57, 7, 1, 0, 0, 0, 58, 56, 1, 0, 0, 0, 59, 61, 5, 7, 0, 0, 60, 59, 1, 0, 0, 0, 61, 62, 1, 0, 0, 0, 62, 60, 1, 0, 0, 0, 62, 63, 1, 0, 0, 0, 63, 9, 1, 0, 0, 0, 64, 65, 5, 4, 0, 0, 65, 66, 3, 14, 7, 0, 66, 67, 5, 9, 0, 0, 67, 11, 1, 0, 0, 0, 68, 69, 7, 0, 0, 0, 69, 70, 3, 14, 7, 0, 70, 71, 7, 1, 0, 0, 71, 72, 6, 6, -1, 0, 72, 13, 1, 0, 0, 0, 73, 75, 7, 2, 0, 0, 74, 73, 1, 0, 0, 0, 75, 76, 1, 0, 0, 0, 76, 74, 1, 0, 0, 0, 76, 77, 1, 0, 0, 0, 77, 15, 1, 0, 0, 0, 6, 21, 38, 46, 56, 62, 76]
[4, 1, 18, 79, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 1, 0, 1, 0, 1, 0, 5, 0, 20, 8, 0, 10, 0, 12, 0, 23, 9, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 39, 8, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 47, 8, 2, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 5, 3, 55, 8, 3, 10, 3, 12, 3, 58, 9, 3, 1, 4, 4, 4, 61, 8, 4, 11, 4, 12, 4, 62, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 4, 7, 75, 8, 7, 11, 7, 12, 7, 76, 1, 7, 0, 0, 8, 0, 2, 4, 6, 8, 10, 12, 14, 0, 4, 1, 0, 1, 2, 1, 0, 6, 8, 2, 0, 11, 11, 14, 15, 2, 0, 10, 13, 15, 16, 78, 0, 21, 1, 0, 0, 0, 2, 38, 1, 0, 0, 0, 4, 40, 1, 0, 0, 0, 6, 56, 1, 0, 0, 0, 8, 60, 1, 0, 0, 0, 10, 64, 1, 0, 0, 0, 12, 68, 1, 0, 0, 0, 14, 74, 1, 0, 0, 0, 16, 17, 3, 2, 1, 0, 17, 18, 6, 0, -1, 0, 18, 20, 1, 0, 0, 0, 19, 16, 1, 0, 0, 0, 20, 23, 1, 0, 0, 0, 21, 19, 1, 0, 0, 0, 21, 22, 1, 0, 0, 0, 22, 24, 1, 0, 0, 0, 23, 21, 1, 0, 0, 0, 24, 25, 5, 0, 0, 1, 25, 1, 1, 0, 0, 0, 26, 27, 3, 8, 4, 0, 27, 28, 6, 1, -1, 0, 28, 39, 1, 0, 0, 0, 29, 30, 3, 10, 5, 0, 30, 31, 6, 1, -1, 0, 31, 39, 1, 0, 0, 0, 32, 33, 3, 12, 6, 0, 33, 34, 6, 1, -1, 0, 34, 39, 1, 0, 0, 0, 35, 36, 3, 4, 2, 0, 36, 37, 6, 1, -1, 0, 37, 39, 1, 0, 0, 0, 38, 26, 1, 0, 0, 0, 38, 29, 1, 0, 0, 0, 38, 32, 1, 0, 0, 0, 38, 35, 1, 0, 0, 0, 39, 3, 1, 0, 0, 0, 40, 41, 7, 0, 0, 0, 41, 42, 5, 17, 0, 0, 42, 43, 5, 18, 0, 0, 43, 46, 3, 6, 3, 0, 44, 45, 5, 3, 0, 0, 45, 47, 3, 6, 3, 0, 46, 44, 1, 0, 0, 0, 46, 47, 1, 0, 0, 0, 47, 48, 1, 0, 0, 0, 48, 49, 5, 4, 0, 0, 49, 50, 6, 2, -1, 0, 50, 5, 1, 0, 0, 0, 51, 52, 3, 2, 1, 0, 52, 53, 6, 3, -1, 0, 53, 55, 1, 0, 0, 0, 54, 51, 1, 0, 0, 0, 55, 58, 1, 0, 0, 0, 56, 54, 1, 0, 0, 0, 56, 57, 1, 0, 0, 0, 57, 7, 1, 0, 0, 0, 58, 56, 1, 0, 0, 0, 59, 61, 5, 9, 0, 0, 60, 59, 1, 0, 0, 0, 61, 62, 1, 0, 0, 0, 62, 60, 1, 0, 0, 0, 62, 63, 1, 0, 0, 0, 63, 9, 1, 0, 0, 0, 64, 65, 5, 5, 0, 0, 65, 66, 3, 14, 7, 0, 66, 67, 5, 11, 0, 0, 67, 11, 1, 0, 0, 0, 68, 69, 7, 1, 0, 0, 69, 70, 3, 14, 7, 0, 70, 71, 7, 2, 0, 0, 71, 72, 6, 6, -1, 0, 72, 13, 1, 0, 0, 0, 73, 75, 7, 3, 0, 0, 74, 73, 1, 0, 0, 0, 75, 76, 1, 0, 0, 0, 76, 74, 1, 0, 0, 0, 76, 77, 1, 0, 0, 0, 77, 15, 1, 0, 0, 0, 6, 21, 38, 46, 56, 62, 76]
Loading
Loading