C++ Mathematical Expression Toolkit (ExprTk) release
Loading...
Searching...
No Matches
Classes | Functions
exprtk_repl.cpp File Reference
#include <algorithm>
#include <cstdio>
#include <deque>
#include <fstream>
#include <iostream>
#include <numeric>
#include <string>
#include "exprtk.hpp"
Include dependency graph for exprtk_repl.cpp:

Go to the source code of this file.

Classes

struct  putch< T >
 
struct  putint< T >
 
struct  rnd_01< T >
 
class  expression_processor< T >
 
struct  expression_processor< T >::function_definition
 
struct  expression_processor< T >::parse_function_definition_impl
 

Functions

template<typename T >
void repl (int argc, char *argv[])
 
int main (int argc, char *argv[])
 

Function Documentation

◆ main()

int main ( int  argc,
char *  argv[] 
)

Definition at line 1028 of file exprtk_repl.cpp.

1029{
1030 repl<double>(argc,argv);
1031 return 0;
1032}

◆ repl()

template<typename T >
void repl ( int  argc,
char *  argv[] 
)

Definition at line 994 of file exprtk_repl.cpp.

995{
996 expression_processor<T> processor;
997
998 if (argc > 1)
999 {
1000 for (int i = 1; i < argc; ++i)
1001 {
1002 processor.process_from_file(argv[i]);
1003 }
1004 }
1005 else
1006 {
1007 for ( ; ; )
1008 {
1009 std::string expression;
1010
1011 std::cout << ">> ";
1012 std::getline(std::cin,expression);
1013
1014 if (expression.empty())
1015 continue;
1016 else if ("exit" == expression)
1017 break;
1018 else if ("quit" == expression)
1019 break;
1020 else if ('$' == expression[0])
1021 processor.process_directive(expression);
1022 else
1023 processor.process(expression);
1024 }
1025 }
1026}
void process_from_file(const std::string &file_name)
void process_directive(std::string expression)
void process(std::string program)

References expression_processor< T >::process(), expression_processor< T >::process_directive(), and expression_processor< T >::process_from_file().

Here is the call graph for this function: