Cloudy
Spectral Synthesis Code for Astrophysics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
parser.cpp File Reference
#include "cddefines.h"
#include "parser.h"
#include "called.h"
#include "flux.h"
#include "input.h"
#include "elementnames.h"
#include "service.h"
#include "depth_table.h"
#include "lines.h"
#include <deque>
Include dependency graph for parser.cpp:

Typedefs

typedef std::map< string, double > symtab
 

Functions

STATIC bool ParseExpr (deque< Token > &chTokens, vector< double > &valstack, const symtab &tab)
 
const char * nWord (const char *chKey, const char *chCard)
 
bool isBoundaryChar (char c)
 
STATIC bool ParseNumber (deque< Token > &chTokens, vector< double > &valstack, const symtab &tab)
 
STATIC bool doop (vector< double > &valstack, const string &op)
 
STATIC bool ParseExp (deque< Token > &chTokens, vector< double > &valstack, const symtab &tab)
 
STATIC bool ParseProduct (deque< Token > &chTokens, vector< double > &valstack, const symtab &tab)
 
string getCommandToken (const string &card)
 
Symbol maybeNumber (bool numOK, const Symbol &s)
 

Typedef Documentation

typedef std::map<string,double> symtab

Function Documentation

STATIC bool doop ( vector< double > &  valstack,
const string &  op 
)

References DEBUG_ENTRY, fprintf(), ioQQQ, and pow().

Referenced by ParseExp(), and ParseProduct().

Here is the call graph for this function:

string getCommandToken ( const string &  card)
inline
bool isBoundaryChar ( char  c)

Referenced by Parser::nMatch1(), and nWord().

Symbol maybeNumber ( bool  numOK,
const Symbol s 
)
inline

References DEBUG_ENTRY, Symbol::ERROR, fprintf(), ioQQQ, and Symbol::value.

Referenced by Parser::getSymbol().

Here is the call graph for this function:

const char* nWord ( const char *  chKey,
const char *  chCard 
)

nWord determine whether match to a keyword occurs on command line, return value is 0 if no match, and position of match within string if hit

Parameters
*chKey
*chCard

References ASSERT, DEBUG_ENTRY, isBoundaryChar(), and NULL.

Referenced by Parser::nWord().

Here is the call graph for this function:

STATIC bool ParseExp ( deque< Token > &  chTokens,
vector< double > &  valstack,
const symtab tab 
)

References DEBUG_ENTRY, doop(), and ParseNumber().

Referenced by ParseProduct().

Here is the call graph for this function:

STATIC bool ParseExpr ( deque< Token > &  chTokens,
vector< double > &  valstack,
const symtab tab 
)

References DEBUG_ENTRY, and ParseProduct().

Referenced by Parser::FFmtRead().

Here is the call graph for this function:

STATIC bool ParseNumber ( deque< Token > &  chTokens,
vector< double > &  valstack,
const symtab tab 
)

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), and ioQQQ.

Referenced by ParseExp().

Here is the call graph for this function:

STATIC bool ParseProduct ( deque< Token > &  chTokens,
vector< double > &  valstack,
const symtab tab 
)

References DEBUG_ENTRY, doop(), and ParseExp().

Referenced by ParseExpr().

Here is the call graph for this function: