BEAST - Free Software Audio Synthesizer and Tracker  0.9.2
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
Sfidl::Parser Class Reference

Public Member Functions

bool parse (const String &fileName)
 
String fileName () const
 
const std::vector< String > & getIncludes () const
 
const std::vector< Constant > & getConstants () const
 
const std::vector< Choice > & getChoices () const
 
const std::vector< Sequence > & getSequences () const
 
const std::vector< Record > & getRecords () const
 
const std::vector< Class > & getClasses () const
 
const std::vector< Method > & getProcedures () const
 
const std::vector< String > & getTypes () const
 
std::vector< PragmagetPragmas (const String &binding) const
 
Sequence findSequence (const String &name) const
 
Record findRecord (const String &name) const
 
const ClassfindClass (const String &name) const
 
bool isChoice (const String &type) const
 
bool isSequence (const String &type) const
 
bool isRecord (const String &type) const
 
bool isClass (const String &type) const
 
Type typeOf (const String &type) const
 
bool fromInclude (const String &type) const
 

Protected Member Functions

String defineSymbol (const String &name)
 
SymbolqualifyHelper (const String &name)
 
String qualifySymbol (const String &name)
 
bool enterNamespace (const String &name)
 
void leaveNamespace ()
 
bool usingNamespace (const String &name)
 
template<class... Args>
void print_error (const char *format, const Args &...args)
 
template<class... Args>
void print_warning (const char *format, const Args &...args)
 
void preprocess (const String &filename, bool includeImpl=false)
 
void preprocessContents (const String &filename)
 
bool haveIncluded (const String &filename) const
 
bool insideInclude () const
 
void addConstantTodo (const Constant &cdef)
 
void addChoiceTodo (const Choice &cdef)
 
void addRecordTodo (const Record &rdef)
 
void addSequenceTodo (const Sequence &sdef)
 
void addClassTodo (const Class &cdef)
 
void addProcedureTodo (const Method &pdef)
 
void addPrototype (const String &type, TypeDeclaration typeDecl)
 
void addType (const String &type, TypeDeclaration typeDecl)
 
GTokenType parseTypeName (String &s)
 
GTokenType parseStringOrConst (String &s)
 
GTokenType parseConstant (bool isident=false)
 
GTokenType parseNamespace ()
 
GTokenType parseChoice ()
 
GTokenType parseChoiceValue (ChoiceValue &comp, int &value, int &sequentialValue)
 
GTokenType parseRecord ()
 
GTokenType parseRecordField (Param &comp, const IString &group)
 
GTokenType parseStream (Stream &stream, Stream::Type)
 
GTokenType parseSequence ()
 
GTokenType parseParamHints (Param &def)
 
GTokenType parseClass ()
 
GTokenType parseMethod (Method &def)
 
GTokenType parseInfoOptional (Map< String, IString > &infos)
 

Static Protected Member Functions

static void scannerMsgHandler (GScanner *scanner, gchar *message, gboolean is_error)
 

Protected Attributes

const class Optionsoptions
 
GScanner * scanner
 
std::vector< charscannerInputData
 
std::vector< LineInfoscannerLineInfo
 
Namespace rootNamespace
 
NamespacecurrentNamespace
 
std::vector< StringincludedNames
 
std::vector< Stringtypes
 
std::map< String, inttypeMap
 
std::vector< Stringincludes
 
std::vector< Pragmapragmas
 
std::vector< Constantconstants
 
std::vector< Choicechoices
 
std::vector< Sequencesequences
 
std::vector< Recordrecords
 
std::vector< Classclasses
 
std::vector< Methodprocedures
 

The documentation for this class was generated from the following files: