本文整理汇总了C++中Interpreter::addSpecial方法的典型用法代码示例。如果您正苦于以下问题:C++ Interpreter::addSpecial方法的具体用法?C++ Interpreter::addSpecial怎么用?C++ Interpreter::addSpecial使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Interpreter
的用法示例。
在下文中一共展示了Interpreter::addSpecial方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addCoreCommands
void addCoreCommands( Interpreter &interp)
{
// special forms
interp.addSpecial( "and", new AndCommand());
interp.addSpecial( "cond", new CondCommand());
interp.addSpecial( "define", new DefineCommand());
interp.addSpecial( "if", new IfCommand());
interp.addSpecial( "lambda", new LambdaCommand());
interp.addSpecial( "let", new LetCommand());
interp.addSpecial( "let*", new LetStarCommand());
interp.addSpecial( "or", new OrCommand());
interp.addSpecial( "quote", new QuoteCommand());
interp.addSpecial( "time", new TimeCommand());
// some basic functions
interp.addBuiltin( "begin", beginCommand);
interp.addBuiltin( "car", carCommand);
interp.addBuiltin( "cdr", cdrCommand);
interp.addBuiltin( "cons", consCommand);
interp.addBuiltin( "display", displayCommand);
interp.addBuiltin( "eq?", new BinaryPredicateAdapter( eq));
interp.addBuiltin( "eqv?", new BinaryPredicateAdapter( eqv));
interp.addBuiltin( "exit", exitCommand);
interp.addBuiltin( "gc", gcCommand);
interp.addBuiltin( "load", loadCommand);
interp.addBuiltin( "memstat", memstatCommand);
interp.addBuiltin( "not", notCommand);
interp.addBuiltin( "version", versionCommand);
// type predicates
interp.addBuiltin( "boolean?", new TypePredicate( Handle::ntBOOLEAN));
interp.addBuiltin( "char?", new TypePredicate( Handle::ntCHARACTER));
interp.addBuiltin( "double?", new TypePredicate( Handle::ntDOUBLE));
interp.addBuiltin( "integer?", new TypePredicate( Handle::ntINTEGER));
interp.addBuiltin( "pair?", new TypePredicate( Handle::ntCONS));
interp.addBuiltin( "string?", new TypePredicate( Handle::ntSTRING));
interp.addBuiltin( "symbol?", new TypePredicate( Handle::ntSYMBOL));
interp.addBuiltin( "hashtable?", new TypePredicate( Handle::ntHASHTABLE));
interp.addBuiltin( "keyword?", new TypePredicate( Handle::ntKEYWORD));
interp.addBuiltin( "set?", new TypePredicate( Handle::ntSET));
}