runtime_error(
"MIPS_EXC_BUG");
80modules->AddModule(
Module());
90module->SetSourceLine(
Lexer().CurrentLine());
105 if(token.
GetText() ==
"::=") {
116 else if(tok ==
T_EOF) {
176 " type name omitted");
184 " type definition expected");
191 catch(exception& e) {
202 if(
type->IsStdType() ||
type->IsReference()) {
203 type->SetIsAlias(
true);
212 if(!
type->HasTag()) {
215 type->SetSourceLine(line);
304 booltagclosed =
false;
392 for(
boolmore =
true; more; ) {
398 if(member->GetType()->IsContainer()) {
406}
else if(member->GetType()->IsEnumType()) {
418 CopyLineComment(member->GetType()->GetSourceLine(), member->Comments());
420container->AddMember(member);
433 stringlexer_name = curlexer.
GetName();
438 if(!
in.get()->is_open()) {
439 ParseError(
"cannot access file",lexer_name.c_str());
445 boolstarted =
false;
449 stringtoktext = token.
GetText();
455 if( tok ==
T_SYMBOL&& toktext ==
"}") {
461collected += toktext;
462 if(tok ==
T_SYMBOL&& toktext ==
"{") {
473started = (toktext == reftype);
518 if( allowDefaults ) {
524member->SetOptional();
528member->SetDefault(
Value(
type.get()));
542 for(
boolmore =
true; more; ) {
545 value.SetSourceLine(line);
575 value->SetSourceLine(line);
630 b->GetValues().push_back(
Value(
nullptr));
666 Lexer().
LexerError(
"identifier must begin with lowercase letter");
698 Lexer().
LexerError(
"module name must begin with uppercase letter");
const string & StringValue(void) const
CDataType * TypesBlock(CDataMemberContainerType *containerType, bool allowDefaults)
const string & String(void)
AutoPtr< CDataValue > x_Value(const CDataType *type)
AutoPtr< CDataTypeModule > Module(void)
const string & Identifier(void)
map< string, string > m_MapDefinitions
bool HaveMoreElements(void)
AutoPtr< CFileModules > Modules(const string &fileName)
CAsnBinaryDefs::ETagType m_TagDefault
void TypeList(list< string > &ids)
double Double(TToken token)
void Exports(CDataTypeModule &module)
void ModuleBody(CDataTypeModule &module)
void BeginComponentsDefinition(void)
void Imports(CDataTypeModule &module)
stack< AbstractLexer * > m_StackLexer
void EndComponentsDefinition(void)
const string & ModuleReference(void)
ASNParser(ASNLexer &lexer)
AutoPtr< CDataType > Type(void)
const string & TypeReference(void)
CEnumDataTypeValue & EnumeratedValue(CEnumDataType &enumType)
void ModuleType(CDataTypeModule &module, const string &name)
AutoPtr< CDataValue > Value(const CDataType *type)
CEnumDataType * EnumeratedBlock(CEnumDataType *enumType)
AutoPtr< CDataMember > NamedDataType(bool allowDefaults)
const ASNLexer & L(void) const
const string & GetName(void) const
virtual void LexerError(const char *error)
void FlushCommentsTo(CComments &comments)
int CurrentLine(void) const
const string & ConsumeAndValue(void)
const string & ValueOf(TToken token, const char *expected)
bool ConsumeIfSymbol(char symbol)
int LastTokenLine(void) const
void Expect(TToken token, const char *expected)
bool ConsumeIf(TToken token)
const AbstractToken & NextToken(void) const
bool CheckSymbol(char symbol)
char CheckSymbols(char symbol1, char symbol2)
void ConsumeSymbol(char symbol)
void CopyLineComment(int line, CComments &comments, int flags=0)
AbstractLexer & Lexer(void)
void SetLexer(AbstractLexer *lexer)
virtual void ParseError(const char *error, const char *expected, const AbstractToken &token)
void CopyComments(CComments &comments)
virtual string GetLocation(void)
int NextTokenLine(void) const
char GetSymbol(void) const
TToken GetToken(void) const
string GetText(void) const
const TMembers & GetMembers(void) const
CDataType * GetType(void)
CComments & Comments(void)
void AddImports(const TImports &imports)
void AddExports(const TExports &exports)
CComments & Comments(void)
void AddDefinition(const string &name, const AutoPtr< CDataType > &type)
int GetSourceLine(void) const
CComments & Comments(void)
void SetTagType(CAsnBinaryDefs::ETagType ttype)
void SetTag(CAsnBinaryDefs::TLongTag tag)
void SetTagClass(CAsnBinaryDefs::ETagClass tclass)
CComments & GetComments(void)
const TValues & GetValues(void) const
const_iterator end() const
const_iterator find(const key_type &key) const
static const struct type types[]
element_type * release(void)
Release will release ownership of pointer to caller.
#define ERR_POST_X(err_subcode, message)
Error posting with default error code and given error subcode.
#define NCBI_RETHROW_SAME(prev_exception, message)
Generic macro to re-throw the same exception.
virtual const char * what(void) const noexcept
Standard report (includes full backlog).
int32_t Int4
4-byte (32-bit) signed integer
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
IO_PREFIX::istream CNcbiIstream
Portable alias for istream.
IO_PREFIX::ifstream CNcbiIfstream
Portable alias for ifstream.
static int StringToInt(const CTempString str, TStringToNumFlags flags=0, int base=10)
Convert string to int.
static double StringToDouble(const CTempStringEx str, TStringToNumFlags flags=0)
Convert string to double.
static int Compare(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2, ECase use_case=eCase)
Compare of a substring with another string.
@ fDecimalPosix
StringToDouble*(): For decimal point, use C locale.
Definition of all error codes used in serial libraries (xser.lib, xcser.lib).
const GenericPointer< typename T::ValueType > T2 value
std::istream & in(std::istream &in_, double &x_)
CDataValueTmpl< bool > CBoolDataValue
CDataValueTmpl< string > CStringDataValue
CDataValueTmpl< Int8 > CIntDataValue
CDataValueTmpl< double > CDoubleDataValue
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4