本文整理汇总了C++中Lexer::addDefinition方法的典型用法代码示例。如果您正苦于以下问题:C++ Lexer::addDefinition方法的具体用法?C++ Lexer::addDefinition怎么用?C++ Lexer::addDefinition使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Lexer
的用法示例。
在下文中一共展示了Lexer::addDefinition方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: stoOperator
TEST(ForgetOperator,NumAndAtomGoodDeletion) {
LiteralsStack stack;
VariableMap variableMap;
ProgramMap programMap;
Lexer *lexer = new Lexer();
lexer->addDefinition(new WhitespaceLiteralDefinition());
lexer->addDefinition(new NumericLiteralDefinition);
lexer->addDefinition(new OperatorNumericLiteralDefinition);
lexer->addDefinition(new OperatorEqualComparisonLiteralDefinition);
lexer->addDefinition(new OperatorStrictComparisonLiteralDefinition);
lexer->addDefinition(new ExpressionLiteralDefinition);
lexer->addDefinition(new ProgramLiteralDefinition);
lexer->addDefinition(new AtomLiteralDefinition);
stack.push(LiteralPointer(new NumericLiteral(4,5,4,5)));
stack.push(LiteralPointer(new ExpressionLiteral("'AFR'")));
EXPECT_EQ(2, stack.size());
StoOperator stoOperator(variableMap,programMap,*lexer);
stoOperator.apply(stack);
EXPECT_EQ(0, stack.size());
EXPECT_EQ(1,variableMap.size());
EXPECT_EQ("4/5$4/5",variableMap.get("AFR")->toString());
stack.push(LiteralPointer(new ExpressionLiteral("'AFR'")));
EXPECT_EQ(1, stack.size());
ForgetOperator forgetOperator(variableMap,programMap);
forgetOperator.apply(stack);
EXPECT_EQ(0,variableMap.size());
}