PPL Logo

xi Namespace Reference


Data Structures

class  CEntry
class  CaseConstruct
class  CaseListConstruct
class  ElseConstruct
class  ForConstruct
class  ForallConstruct
class  IfConstruct
class  IntExprConstruct
class  OListConstruct
class  OverlapConstruct
class  SdagEntryConstruct
class  SerialConstruct
class  SListConstruct
class  WhenConstruct
class  WhileConstruct
struct  SdagConCall
struct  xi::SdagConCall< void >
class  CParsedFile
struct  CStateVar
struct  EncapState
class  CToken
class  AstNode
class  AstChildren
class  BlockConstruct
struct  TramInfo
class  Chare
class  MainChare
class  Array
class  Group
class  NodeGroup
class  Construct
class  ConstructList
class  AccelBlock
class  Entry
class  EntryList
class  MacroDefinition
class  Member
class  Readonly
class  InitCall
class  PUPableClass
class  IncludeFile
class  ClassDeclaration
class  MsgVar
class  MsgVarList
class  Message
class  Module
class  Parameter
class  ParamList
struct  SdagCollection
class  SdagConstruct
struct  rwentry
class  TParam
class  TParamList
class  TParamType
class  TParamVal
class  Scope
class  UsingScope
class  Template
class  TEntity
class  TVar
class  TTypeEllipsis
class  TType
class  TFunc
class  TName
class  TVarList
class  Type
class  BuiltinType
class  NamedType
class  NamedEllipsisType
class  PtrType
class  EllipsisType
class  RValueReferenceType
class  ReferenceType
class  ConstType
class  FuncType
class  TypeList
class  XStr
class  Printable
class  Value
class  ValueList

Namespaces

namespace  details

Enumerations

enum  EToken {
  DEFAULT = 1, SIDENT = 2, SLBRACE = 3, SRBRACE = 4,
  SLB = 5, SRB = 6, SLP = 7, SRP = 8,
  SCOLON = 9, SSTAR = 10, SCHAR = 11, SSTRING = 12,
  SNEW_LINE = 13, SCLASS = 14, SENTRY = 15, SSDAGENTRY = 16,
  SOVERLAP = 17, SWHEN = 18, SIF = 19, SWHILE = 20,
  SFOR = 21, SFORALL = 22, SSERIAL = 23, SCOMMA = 24,
  SELSE = 25, SSEMICOLON = 26, SPARAMLIST = 27, SPARAMETER = 28,
  SVARTYPELIST = 29, SVARTYPE = 30, SFUNCTYPE = 31, SSIMPLETYPE = 32,
  SBUILTINTYPE = 33, SONEPTRTYPE = 34, SPTRTYPE = 35, SINT = 36,
  SLONG = 37, SSHORT = 38, SUNSIGNED = 39, SDOUBLE = 40,
  SVOID = 41, SFLOAT = 42, SCONST = 43, SEQUAL = 44,
  SAMPERESIGN = 45, SLITERAL = 46, SNUMBER = 47, SOVERLAP_END = 51,
  SWHEN_END = 52, SIF_END = 53, SELSE_END = 54, SWHILE_END = 55,
  SFOR_END = 56, SFOR_ENDALL = 57, SMATCHED_CPP_CODE = 100, SINT_EXPR = 101,
  SWSPACE = 102, SSLIST = 103, SELIST = 104, SOLIST = 105,
  SOLIST_END = 106, SCASE = 107, SCASELIST = 108
}
enum  forWhom {
  forAll = 0, forIndividual = 1, forSection = 2, forPython = 3,
  forIndex = -1
}

Functions

void generateLocalWrapper (XStr &decls, XStr &defs, int isVoid, XStr &signature, Entry *entry, std::list< CStateVar * > *params, XStr *next, bool isDummy)
void RemoveSdagComments (char *str)
void generateVarSignature (XStr &str, const XStr *name, const char *suffix, list< CStateVar * > *params)
void generateVarSignature (XStr &decls, XStr &defs, const Entry *entry, bool declareStatic, const char *returnType, const XStr *name, bool isEnd, list< CStateVar * > *params)
void generateVarSignature (XStr &decls, XStr &defs, const Chare *chare, bool declareStatic, const char *returnType, const XStr *name, bool isEnd, list< CStateVar * > *params)
void endMethod (XStr &op)
void generateClosureSignature (XStr &decls, XStr &defs, const Entry *entry, bool declareStatic, const char *returnType, const XStr *name, bool isEnd, list< EncapState * > encap, int numRefs)
void generateClosureSignature (XStr &decls, XStr &defs, const Chare *chare, bool declareStatic, const char *returnType, const XStr *name, bool isEnd, list< EncapState * > encap, int numRefs)
void Indent (int indent)
void resetNumbers (void)
void pH (int, const char *,...)
static void disambig_group (XStr &str, const XStr &super)
static void disambig_array (XStr &str, const XStr &super)
static void disambig_reduction_client (XStr &str, const XStr &super)
static XStr indexSuffix2object (const XStr &indexSuffix)
static void disambig_proxy (XStr &str, const XStr &super)
void ReservedWord (int token, int fCol, int lCol)
int macroDefined (const char *str, int istrue)
void splitScopedName (const char *name, const char **scope, const char **basename)
std::string readFile (const char *interfaceFile)
AstChildren< Module > * Parse (std::string &str)
int count_tokens (std::string &str)
void abortxi (char *name)
XStr makeIdent (const XStr &in)
void generateClosureSignature (XStr &decls, XStr &defs, const Chare *chare, bool declareStatic, const char *returnType, const XStr *name, bool isEnd, std::list< EncapState * > params, int numRefs=0)
void generateClosureSignature (XStr &decls, XStr &defs, const Entry *entry, bool declareStatic, const char *returnType, const XStr *name, bool isEnd, std::list< EncapState * > params, int numRefs=0)
void generateVarSignature (XStr &decls, XStr &defs, const Entry *entry, bool declareStatic, const char *returnType, const XStr *name, bool isEnd, std::list< CStateVar * > *params)
void generateVarSignature (XStr &decls, XStr &defs, const Chare *chare, bool declareStatic, const char *returnType, const XStr *name, bool isEnd, std::list< CStateVar * > *params)
void die (const char *why, int line)
char * fortranify (const char *s, const char *suff1, const char *suff2, const char *suff3)
XStr generateTemplateSpec (TVarList *tspec, bool printDefault)
const char * forWhomStr (forWhom w)
void templateGuardBegin (bool templateOnly, XStr &str)
void templateGuardEnd (XStr &str)
std::string addLineNumbers (char *str, const char *filename)
void sanitizeRange (std::string &code, int i, int j)
void desanitizeCode (std::string &code)
void sanitizeComments (std::string &code)
void sanitizeStrings (std::string &code)
std::string _get_caret_line (int err_line_start, int first_col, int last_col)
void _pretty_header (std::string type, std::string msg, int first_col, int last_col, int first_line, int last_line)
void _pretty_print (std::string type, std::string msg, int first_col, int last_col, int first_line, int last_line)
void pretty_msg (std::string type, std::string msg, int first_col, int last_col, int first_line, int last_line)
void pretty_msg_noline (std::string type, std::string msg, int first_col, int last_col, int first_line, int last_line)
int isatty (int)
void indentBy (XStr &s, int num)

Variables

int numSdagEntries = 0
int numSlists = 0
int numOverlaps = 0
int numWhens = 0
int numFors = 0
int numIfs = 0
int numElses = 0
int numEntries = 0
int numOlists = 0
int numWhiles = 0
int numSerials = 0
int numForwards = 0
int numForalls = 0
int numConnects = 0
int numCases = 0
int numCaseLists = 0
FILE * fh
static const char * CIClassStart
static const char * CIClassEnd = "};\n"
int fortranMode
int internalMode
const char * python_doc
static const int tramBufferSize = 16384
std::vector< std::string > inputBuffer
const char * cur_file
char * fname
char * origFile
static std::list
< MacroDefinition * > 
macros
static const char * CIMsgClassAnsi
const char GroupDepNumStruct []
const int MAX_NUM_ERRORS
int num_errors


Enumeration Type Documentation

enum xi::EToken

Enumerator:
DEFAULT 
SIDENT 
SLBRACE 
SRBRACE 
SLB 
SRB 
SLP 
SRP 
SCOLON 
SSTAR 
SCHAR 
SSTRING 
SNEW_LINE 
SCLASS 
SENTRY 
SSDAGENTRY 
SOVERLAP 
SWHEN 
SIF 
SWHILE 
SFOR 
SFORALL 
SSERIAL 
SCOMMA 
SELSE 
SSEMICOLON 
SPARAMLIST 
SPARAMETER 
SVARTYPELIST 
SVARTYPE 
SFUNCTYPE 
SSIMPLETYPE 
SBUILTINTYPE 
SONEPTRTYPE 
SPTRTYPE 
SINT 
SLONG 
SSHORT 
SUNSIGNED 
SDOUBLE 
SVOID 
SFLOAT 
SCONST 
SEQUAL 
SAMPERESIGN 
SLITERAL 
SNUMBER 
SOVERLAP_END 
SWHEN_END 
SIF_END 
SELSE_END 
SWHILE_END 
SFOR_END 
SFOR_ENDALL 
SMATCHED_CPP_CODE 
SINT_EXPR 
SWSPACE 
SSLIST 
SELIST 
SOLIST 
SOLIST_END 
SCASE 
SCASELIST 

Definition at line 6 of file EToken.h.

Enumerator:
forAll 
forIndividual 
forSection 
forPython 
forIndex 

Definition at line 157 of file xi-util.h.


Function Documentation

void xi::generateLocalWrapper ( XStr &  decls,
XStr &  defs,
int  isVoid,
XStr &  signature,
Entry *  entry,
std::list< CStateVar * > *  params,
XStr *  next,
bool  isDummy 
)

void xi::RemoveSdagComments ( char *  str  ) 

void xi::generateVarSignature ( XStr &  str,
const XStr *  name,
const char *  suffix,
list< CStateVar * > *  params 
)

void xi::generateVarSignature ( XStr &  decls,
XStr &  defs,
const Entry *  entry,
bool  declareStatic,
const char *  returnType,
const XStr *  name,
bool  isEnd,
list< CStateVar * > *  params 
)

Definition at line 372 of file CSdagConstruct.C.

References generateVarSignature(), and xi::Entry::getContainer().

Here is the call graph for this function:

void xi::generateVarSignature ( XStr &  decls,
XStr &  defs,
const Chare chare,
bool  declareStatic,
const char *  returnType,
const XStr *  name,
bool  isEnd,
list< CStateVar * > *  params 
)

void xi::endMethod ( XStr &  op  ) 

void xi::generateClosureSignature ( XStr &  decls,
XStr &  defs,
const Entry *  entry,
bool  declareStatic,
const char *  returnType,
const XStr *  name,
bool  isEnd,
list< EncapState * >  encap,
int  numRefs 
)

void xi::generateClosureSignature ( XStr &  decls,
XStr &  defs,
const Chare chare,
bool  declareStatic,
const char *  returnType,
const XStr *  name,
bool  isEnd,
list< EncapState * >  encap,
int  numRefs 
)

Definition at line 433 of file CSdagConstruct.C.

References xi::Chare::baseName(), xi::EncapState::name, op, templateGuardBegin(), xi::TEntity::tspec(), and xi::EncapState::type.

Here is the call graph for this function:

void xi::Indent ( int  indent  ) 

Definition at line 7 of file sdag-globals.C.

Referenced by xi::CToken::print(), and xi::CEntry::print().

Here is the caller graph for this function:

void xi::resetNumbers ( void   ) 

Definition at line 28 of file sdag-globals.C.

References numCaseLists, numCases, numConnects, numElses, numEntries, numForalls, numFors, numForwards, numIfs, numOlists, numOverlaps, numSdagEntries, numSerials, numSlists, numWhens, and numWhiles.

Referenced by xi::Chare::genDecls().

Here is the caller graph for this function:

void xi::pH ( int  ,
const char *  ,
  ... 
)

static void xi::disambig_group ( XStr &  str,
const XStr &  super 
) [static]

Definition at line 1728 of file xi-Chare.C.

References disambig_proxy(), and disambig_reduction_client().

Referenced by xi::Group::genSubDecls().

Here is the call graph for this function:

Here is the caller graph for this function:

static void xi::disambig_array ( XStr &  str,
const XStr &  super 
) [static]

Definition at line 1683 of file xi-Chare.C.

References disambig_proxy(), and disambig_reduction_client().

Referenced by xi::Array::genSubDecls().

Here is the call graph for this function:

Here is the caller graph for this function:

static void xi::disambig_reduction_client ( XStr &  str,
const XStr &  super 
) [static]

Definition at line 1716 of file xi-Chare.C.

Referenced by disambig_array(), and disambig_group().

Here is the caller graph for this function:

static XStr xi::indexSuffix2object ( const XStr &  indexSuffix  )  [static]

Definition at line 1739 of file xi-Chare.C.

Referenced by xi::Array::Array().

Here is the caller graph for this function:

static void xi::disambig_proxy ( XStr &  str,
const XStr &  super 
) [static]

Definition at line 244 of file xi-Chare.C.

Referenced by disambig_array(), disambig_group(), and xi::Chare::genSubDecls().

Here is the caller graph for this function:

void xi::ReservedWord ( int  token,
int  fCol,
int  lCol 
)

Definition at line 37 of file xi-main.C.

References pretty_msg(), xi::rwentry::res, xi::rwentry::tok, and yyerror().

Here is the call graph for this function:

int xi::macroDefined ( const char *  str,
int  istrue 
)

Definition at line 83 of file xi-main.C.

References macros.

void xi::splitScopedName ( const char *  name,
const char **  scope,
const char **  basename 
)

Definition at line 101 of file xi-main.C.

References len.

std::string xi::readFile ( const char *  interfaceFile  ) 

Definition at line 149 of file xi-main.C.

References cur_file, endl(), inputBuffer, and origFile.

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

AstChildren<Module>* xi::Parse ( std::string &  str  ) 

Definition at line 177 of file xi-main.C.

References num_errors, scan_string(), and yyparse().

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

int xi::count_tokens ( std::string &  str  ) 

Definition at line 185 of file xi-main.C.

References count, scan_string(), and yylex().

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

void xi::abortxi ( char *  name  ) 

Definition at line 192 of file xi-main.C.

References endl().

Referenced by main(), and processAst().

Here is the call graph for this function:

Here is the caller graph for this function:

XStr xi::makeIdent ( const XStr &  in  ) 

Definition at line 347 of file xi-Member.C.

References xi::XStr::get_string_const().

Referenced by xi::Readonly::genDefs(), and xi::Readonly::genReg().

Here is the call graph for this function:

Here is the caller graph for this function:

void xi::generateClosureSignature ( XStr &  decls,
XStr &  defs,
const Chare chare,
bool  declareStatic,
const char *  returnType,
const XStr *  name,
bool  isEnd,
std::list< EncapState * >  params,
int  numRefs = 0 
)

void xi::generateClosureSignature ( XStr &  decls,
XStr &  defs,
const Entry *  entry,
bool  declareStatic,
const char *  returnType,
const XStr *  name,
bool  isEnd,
std::list< EncapState * >  params,
int  numRefs = 0 
)

void xi::generateVarSignature ( XStr &  decls,
XStr &  defs,
const Entry *  entry,
bool  declareStatic,
const char *  returnType,
const XStr *  name,
bool  isEnd,
std::list< CStateVar * > *  params 
)

void xi::generateVarSignature ( XStr &  decls,
XStr &  defs,
const Chare chare,
bool  declareStatic,
const char *  returnType,
const XStr *  name,
bool  isEnd,
std::list< CStateVar * > *  params 
)

void xi::die ( const char *  why,
int  line 
)

char * xi::fortranify ( const char *  s,
const char *  suff1,
const char *  suff2,
const char *  suff3 
)

Definition at line 153 of file xi-util.C.

References c.

Referenced by xi::Entry::genCall(), xi::Readonly::genDefs(), xi::Entry::genDefs(), and xi::Chare::genDefs().

Here is the caller graph for this function:

XStr xi::generateTemplateSpec ( TVarList *  tspec,
bool  printDefault 
)

Definition at line 175 of file xi-util.C.

References xi::TVarList::genLong().

Referenced by xi::Entry::genArrayDecl(), xi::Entry::genChareDecl(), xi::Entry::genClosure(), xi::Entry::genGroupDecl(), xi::Entry::genIndexDecls(), and xi::Template::genSpec().

Here is the call graph for this function:

Here is the caller graph for this function:

const char * xi::forWhomStr ( forWhom  w  ) 

Definition at line 187 of file xi-util.C.

References forAll, forIndex, forIndividual, forPython, forSection, Prefix::Index, Prefix::Proxy, Prefix::ProxyElement, and Prefix::ProxySection.

Referenced by xi::NamedType::genProxyName(), and xi::Chare::proxyPrefix().

Here is the caller graph for this function:

void xi::templateGuardBegin ( bool  templateOnly,
XStr &  str 
)

void xi::templateGuardEnd ( XStr &  str  ) 

std::string xi::addLineNumbers ( char *  str,
const char *  filename 
)

Definition at line 217 of file xi-util.C.

References xi::XStr::s.

Referenced by xi::Module::generate().

Here is the caller graph for this function:

void xi::sanitizeRange ( std::string &  code,
int  i,
int  j 
)

Definition at line 237 of file xi-util.C.

Referenced by sanitizeComments(), and sanitizeStrings().

Here is the caller graph for this function:

void xi::desanitizeCode ( std::string &  code  ) 

Definition at line 273 of file xi-util.C.

Referenced by xi::Module::generate().

Here is the caller graph for this function:

void xi::sanitizeComments ( std::string &  code  ) 

Definition at line 309 of file xi-util.C.

References h, and sanitizeRange().

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

void xi::sanitizeStrings ( std::string &  code  ) 

Definition at line 344 of file xi-util.C.

References h, and sanitizeRange().

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

std::string xi::_get_caret_line ( int  err_line_start,
int  first_col,
int  last_col 
)

Definition at line 365 of file xi-util.C.

Referenced by _pretty_print().

Here is the caller graph for this function:

void xi::_pretty_header ( std::string  type,
std::string  msg,
int  first_col,
int  last_col,
int  first_line,
int  last_line 
)

Definition at line 372 of file xi-util.C.

References cur_file, and endl().

Referenced by _pretty_print(), and pretty_msg_noline().

Here is the call graph for this function:

Here is the caller graph for this function:

void xi::_pretty_print ( std::string  type,
std::string  msg,
int  first_col,
int  last_col,
int  first_line,
int  last_line 
)

Definition at line 381 of file xi-util.C.

References _get_caret_line(), _pretty_header(), endl(), and inputBuffer.

Referenced by pretty_msg().

Here is the call graph for this function:

Here is the caller graph for this function:

void xi::pretty_msg ( std::string  type,
std::string  msg,
int  first_col,
int  last_col,
int  first_line,
int  last_line 
)

Definition at line 405 of file xi-util.C.

References _pretty_print(), and lineno.

Referenced by ReservedWord().

Here is the call graph for this function:

Here is the caller graph for this function:

void xi::pretty_msg_noline ( std::string  type,
std::string  msg,
int  first_col,
int  last_col,
int  first_line,
int  last_line 
)

Definition at line 412 of file xi-util.C.

References _pretty_header(), and lineno.

Here is the call graph for this function:

int xi::isatty ( int   ) 

void xi::indentBy ( XStr &  s,
int  num 
) [inline]


Variable Documentation

Definition at line 11 of file sdag-globals.C.

Referenced by xi::SdagEntryConstruct::numberNodes(), and resetNumbers().

Definition at line 12 of file sdag-globals.C.

Referenced by xi::SListConstruct::numberNodes(), and resetNumbers().

Definition at line 13 of file sdag-globals.C.

Referenced by xi::OverlapConstruct::numberNodes(), and resetNumbers().

Definition at line 15 of file sdag-globals.C.

Referenced by xi::ForConstruct::numberNodes(), and resetNumbers().

Definition at line 16 of file sdag-globals.C.

Referenced by xi::IfConstruct::numberNodes(), and resetNumbers().

Definition at line 17 of file sdag-globals.C.

Referenced by xi::ElseConstruct::numberNodes(), and resetNumbers().

Definition at line 20 of file sdag-globals.C.

Referenced by xi::WhileConstruct::numberNodes(), and resetNumbers().

Definition at line 21 of file sdag-globals.C.

Referenced by xi::SerialConstruct::numberNodes(), and resetNumbers().

Definition at line 22 of file sdag-globals.C.

Referenced by resetNumbers().

Definition at line 23 of file sdag-globals.C.

Referenced by xi::ForallConstruct::numberNodes(), and resetNumbers().

Definition at line 24 of file sdag-globals.C.

Referenced by resetNumbers().

Definition at line 25 of file sdag-globals.C.

Referenced by xi::CaseConstruct::numberNodes(), and resetNumbers().

Definition at line 26 of file sdag-globals.C.

Referenced by xi::CaseListConstruct::numberNodes(), and resetNumbers().

FILE* xi::fh

const char* xi::CIClassStart [static]

const char* xi::CIClassEnd = "};\n" [static]

Definition at line 15 of file xi-Entry.C.

Referenced by xi::Entry::genRegEp(), xi::Chare::genRegisterMethodDef(), main(), and processAst().

const char* xi::python_doc

Definition at line 16 of file xi-Entry.C.

Referenced by xi::Entry::Entry().

const int xi::tramBufferSize = 16384 [static]

Definition at line 1071 of file xi-Entry.C.

Referenced by xi::Entry::genTramInstantiation().

std::vector< std::string > xi::inputBuffer

Definition at line 30 of file xi-main.C.

Referenced by _pretty_print(), and readFile().

const char * xi::cur_file

char* xi::fname

char * xi::origFile

Definition at line 35 of file xi-main.C.

Referenced by main(), processAst(), and readFile().

Definition at line 81 of file xi-main.C.

Referenced by macroDefined(), and main().

const char* xi::CIMsgClassAnsi [static]

Initial value:

    "{\n"
    "  public:\n"
    "    static int __idx;\n"
    "    void* operator new(size_t, void*p) { return p; }\n"
    "    void* operator new(size_t);\n"
    "    void* operator new(size_t, int*, const int);\n"
    "    void* operator new(size_t, int*, const int, const GroupDepNum);\n"
    "    void* operator new(size_t, int*);\n"
    "#if CMK_MULTIPLE_DELETE\n"
    "    void operator delete(void*p, void*){dealloc(p);}\n"
    "    void operator delete(void*p){dealloc(p);}\n"
    "    void operator delete(void*p, int*, const int){dealloc(p);}\n"
    "    void operator delete(void*p, int*, const int, const GroupDepNum){dealloc(p);}\n"
    "    void operator delete(void*p, int*){dealloc(p);}\n"
    "#endif\n"
    "    void operator delete(void*p, size_t){dealloc(p);}\n"
    "    static void* alloc(int,size_t, int*, int, GroupDepNum);\n"
    "    static void dealloc(void *p);\n"

Definition at line 7 of file xi-Message.C.

Referenced by xi::Message::genAllocDecl().

const char xi::GroupDepNumStruct[]

Initial value:

"#ifndef GROUPDEPNUM_DECLARED\n"
"# define GROUPDEPNUM_DECLARED\n"
"struct GroupDepNum\n"
"{\n"
"  int groupDepNum;\n"
"  explicit GroupDepNum(int g = 0) : groupDepNum{g} { }\n"
"  operator int() const { return groupDepNum; }\n"
"};\n"
"#endif\n"

Definition at line 71 of file xi-Message.C.

Referenced by xi::Message::genDecls().

Referenced by Parse(), and processAst().


Generated on Mon Sep 21 08:34:35 2020 for Charm++ by  doxygen 1.5.5