本文整理汇总了C++中Interpreter::addBuiltin方法的典型用法代码示例。如果您正苦于以下问题:C++ Interpreter::addBuiltin方法的具体用法?C++ Interpreter::addBuiltin怎么用?C++ Interpreter::addBuiltin使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Interpreter
的用法示例。
在下文中一共展示了Interpreter::addBuiltin方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addMathCommands
void addMathCommands( Interpreter &interp)
{
interp.addBuiltin( "=", eqCommand);
interp.addBuiltin( "<", ltCommand);
interp.addBuiltin( ">", gtCommand);
interp.addBuiltin( "+", plusCommand);
interp.addBuiltin( "-", subtrCommand);
}
示例2: addHashCommands
void addHashCommands( Interpreter &interp)
{
interp.addBuiltin( "make-hash", makehashCommand);
interp.addBuiltin( "hash-put", hashsetCommand);
interp.addBuiltin( "hash-get", hashgetCommand);
interp.addBuiltin( "hash-clear", hashclearCommand);
interp.addBuiltin( "hash-size", hashsizeCommand);
interp.addBuiltin( "hash-remove", hashremoveCommand);
interp.addBuiltin( "hash-exists", hashexistsCommand);
interp.addBuiltin( "hash-keys", hashkeysCommand);
interp.addBuiltin( "hash-values", hashvalsCommand);
}
示例3: 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));
}