Skip to content

Commit cbbb3b4

Browse files
docs: add comments describing the parser rules
1 parent a7a247d commit cbbb3b4

2 files changed

Lines changed: 85 additions & 71 deletions

File tree

src/main/java/org/variantsync/diffdetective/feature/jpp/AbstractingJPPExpressionVisitor.java

Lines changed: 49 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -3,115 +3,93 @@
33
import org.antlr.v4.runtime.tree.AbstractParseTreeVisitor;
44
import org.variantsync.diffdetective.feature.antlr.CExpressionParser;
55
import org.variantsync.diffdetective.feature.antlr.CExpressionVisitor;
6+
import org.variantsync.diffdetective.feature.antlr.JPPExpressionParser;
7+
import org.variantsync.diffdetective.feature.antlr.JPPExpressionVisitor;
68

7-
public class AbstractingJPPExpressionVisitor extends AbstractParseTreeVisitor<StringBuilder> implements CExpressionVisitor<StringBuilder> {
9+
public class AbstractingJPPExpressionVisitor extends AbstractParseTreeVisitor<StringBuilder> implements JPPExpressionVisitor<StringBuilder> {
10+
// expression
11+
// : logicalOrExpression
12+
// ;
813
@Override
9-
public StringBuilder visitExpression(CExpressionParser.ExpressionContext ctx) {
14+
public StringBuilder visitExpression(JPPExpressionParser.ExpressionContext ctx) {
1015
return null;
1116
}
1217

18+
// logicalOrExpression
19+
// : logicalAndExpression (OR logicalAndExpression)*
20+
// ;
1321
@Override
14-
public StringBuilder visitConditionalExpression(CExpressionParser.ConditionalExpressionContext ctx) {
22+
public StringBuilder visitLogicalOrExpression(JPPExpressionParser.LogicalOrExpressionContext ctx) {
1523
return null;
1624
}
1725

26+
// logicalAndExpression
27+
// : primaryExpression (AND primaryExpression)*
28+
// ;
1829
@Override
19-
public StringBuilder visitPrimaryExpression(CExpressionParser.PrimaryExpressionContext ctx) {
30+
public StringBuilder visitLogicalAndExpression(JPPExpressionParser.LogicalAndExpressionContext ctx) {
2031
return null;
2132
}
2233

34+
// primaryExpression
35+
// : definedExpression
36+
// | undefinedExpression
37+
// | comparisonExpression
38+
// ;
2339
@Override
24-
public StringBuilder visitSpecialOperator(CExpressionParser.SpecialOperatorContext ctx) {
40+
public StringBuilder visitPrimaryExpression(JPPExpressionParser.PrimaryExpressionContext ctx) {
2541
return null;
2642
}
2743

44+
// comparisonExpression
45+
// : operand ((LT|GT|LEQ|GEQ|EQ|NEQ) operand)?
46+
// ;
2847
@Override
29-
public StringBuilder visitSpecialOperatorArgument(CExpressionParser.SpecialOperatorArgumentContext ctx) {
48+
public StringBuilder visitComparisonExpression(JPPExpressionParser.ComparisonExpressionContext ctx) {
3049
return null;
3150
}
3251

52+
// operand
53+
// : propertyExpression
54+
// | Constant
55+
// | StringLiteral+
56+
// | unaryOperator Constant
57+
// ;
3358
@Override
34-
public StringBuilder visitUnaryOperator(CExpressionParser.UnaryOperatorContext ctx) {
59+
public StringBuilder visitOperand(JPPExpressionParser.OperandContext ctx) {
3560
return null;
3661
}
3762

63+
// definedExpression
64+
// : 'defined' '(' Identifier ')'
65+
// ;
3866
@Override
39-
public StringBuilder visitNamespaceExpression(CExpressionParser.NamespaceExpressionContext ctx) {
67+
public StringBuilder visitDefinedExpression(JPPExpressionParser.DefinedExpressionContext ctx) {
4068
return null;
4169
}
4270

71+
// undefinedExpression
72+
// : NOT 'defined' '(' Identifier ')'
73+
// ;
4374
@Override
44-
public StringBuilder visitMultiplicativeExpression(CExpressionParser.MultiplicativeExpressionContext ctx) {
75+
public StringBuilder visitUndefinedExpression(JPPExpressionParser.UndefinedExpressionContext ctx) {
4576
return null;
4677
}
4778

79+
// propertyExpression
80+
// : '${' Identifier '}'
81+
// ;
4882
@Override
49-
public StringBuilder visitAdditiveExpression(CExpressionParser.AdditiveExpressionContext ctx) {
83+
public StringBuilder visitPropertyExpression(JPPExpressionParser.PropertyExpressionContext ctx) {
5084
return null;
5185
}
5286

87+
// unaryOperator
88+
// : U_PLUS
89+
// | U_MINUS
90+
// ;
5391
@Override
54-
public StringBuilder visitShiftExpression(CExpressionParser.ShiftExpressionContext ctx) {
55-
return null;
56-
}
57-
58-
@Override
59-
public StringBuilder visitRelationalExpression(CExpressionParser.RelationalExpressionContext ctx) {
60-
return null;
61-
}
62-
63-
@Override
64-
public StringBuilder visitEqualityExpression(CExpressionParser.EqualityExpressionContext ctx) {
65-
return null;
66-
}
67-
68-
@Override
69-
public StringBuilder visitAndExpression(CExpressionParser.AndExpressionContext ctx) {
70-
return null;
71-
}
72-
73-
@Override
74-
public StringBuilder visitExclusiveOrExpression(CExpressionParser.ExclusiveOrExpressionContext ctx) {
75-
return null;
76-
}
77-
78-
@Override
79-
public StringBuilder visitInclusiveOrExpression(CExpressionParser.InclusiveOrExpressionContext ctx) {
80-
return null;
81-
}
82-
83-
@Override
84-
public StringBuilder visitLogicalAndExpression(CExpressionParser.LogicalAndExpressionContext ctx) {
85-
return null;
86-
}
87-
88-
@Override
89-
public StringBuilder visitLogicalOrExpression(CExpressionParser.LogicalOrExpressionContext ctx) {
90-
return null;
91-
}
92-
93-
@Override
94-
public StringBuilder visitLogicalOperand(CExpressionParser.LogicalOperandContext ctx) {
95-
return null;
96-
}
97-
98-
@Override
99-
public StringBuilder visitMacroExpression(CExpressionParser.MacroExpressionContext ctx) {
100-
return null;
101-
}
102-
103-
@Override
104-
public StringBuilder visitArgumentExpressionList(CExpressionParser.ArgumentExpressionListContext ctx) {
105-
return null;
106-
}
107-
108-
@Override
109-
public StringBuilder visitAssignmentExpression(CExpressionParser.AssignmentExpressionContext ctx) {
110-
return null;
111-
}
112-
113-
@Override
114-
public StringBuilder visitAssignmentOperator(CExpressionParser.AssignmentOperatorContext ctx) {
92+
public StringBuilder visitUnaryOperator(JPPExpressionParser.UnaryOperatorContext ctx) {
11593
return null;
11694
}
11795
}

src/main/java/org/variantsync/diffdetective/feature/jpp/ControllingJPPExpressionVisitor.java

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,51 +7,87 @@
77
public class ControllingJPPExpressionVisitor extends AbstractParseTreeVisitor<StringBuilder> implements JPPExpressionVisitor<StringBuilder> {
88
private final AbstractingJPPExpressionVisitor abstractingVisitor = new AbstractingJPPExpressionVisitor();
99

10+
// expression
11+
// : logicalOrExpression
12+
// ;
1013
@Override
1114
public StringBuilder visitExpression(JPPExpressionParser.ExpressionContext ctx) {
1215
return null;
1316
}
1417

18+
// logicalOrExpression
19+
// : logicalAndExpression (OR logicalAndExpression)*
20+
// ;
1521
@Override
1622
public StringBuilder visitLogicalOrExpression(JPPExpressionParser.LogicalOrExpressionContext ctx) {
1723
return null;
1824
}
1925

26+
// logicalAndExpression
27+
// : primaryExpression (AND primaryExpression)*
28+
// ;
2029
@Override
2130
public StringBuilder visitLogicalAndExpression(JPPExpressionParser.LogicalAndExpressionContext ctx) {
2231
return null;
2332
}
2433

34+
// primaryExpression
35+
// : definedExpression
36+
// | undefinedExpression
37+
// | comparisonExpression
38+
// ;
2539
@Override
2640
public StringBuilder visitPrimaryExpression(JPPExpressionParser.PrimaryExpressionContext ctx) {
2741
return null;
2842
}
2943

44+
// comparisonExpression
45+
// : operand ((LT|GT|LEQ|GEQ|EQ|NEQ) operand)?
46+
// ;
3047
@Override
3148
public StringBuilder visitComparisonExpression(JPPExpressionParser.ComparisonExpressionContext ctx) {
3249
return null;
3350
}
3451

52+
// operand
53+
// : propertyExpression
54+
// | Constant
55+
// | StringLiteral+
56+
// | unaryOperator Constant
57+
// ;
3558
@Override
3659
public StringBuilder visitOperand(JPPExpressionParser.OperandContext ctx) {
3760
return null;
3861
}
3962

63+
// definedExpression
64+
// : 'defined' '(' Identifier ')'
65+
// ;
4066
@Override
4167
public StringBuilder visitDefinedExpression(JPPExpressionParser.DefinedExpressionContext ctx) {
4268
return null;
4369
}
4470

71+
// undefinedExpression
72+
// : NOT 'defined' '(' Identifier ')'
73+
// ;
4574
@Override
4675
public StringBuilder visitUndefinedExpression(JPPExpressionParser.UndefinedExpressionContext ctx) {
4776
return null;
4877
}
4978

79+
// propertyExpression
80+
// : '${' Identifier '}'
81+
// ;
5082
@Override
5183
public StringBuilder visitPropertyExpression(JPPExpressionParser.PropertyExpressionContext ctx) {
5284
return null;
5385
}
5486

87+
// unaryOperator
88+
// : U_PLUS
89+
// | U_MINUS
90+
// ;
5591
@Override
5692
public StringBuilder visitUnaryOperator(JPPExpressionParser.UnaryOperatorContext ctx) {
5793
return null;

0 commit comments

Comments
 (0)