Exemplo n.º 1
0
void CDefParser::init(const char* pszDefFilePath)
{
    {
        ostringstream oss;
        oss << pszDefFilePath << g_cPathSplit << "entities.xml";
        ParseEntitiesXml(oss.str().c_str());
    }

    map<string, TENTITYTYPE>::const_iterator iter = m_typeStr2Int.begin();
    for(; iter != m_typeStr2Int.end(); ++iter)
    {
        ostringstream oss;
        oss << pszDefFilePath << g_cPathSplit << iter->first << ".def";
        SEntityDef* p = ParseDef(oss.str().c_str());
        m_entityDefs.insert(make_pair(iter->first, p));
    }

    ParseParent();
}
Exemplo n.º 2
0
bool TemplateParser::ParseMacro()
{
	Ident ident;

	ident = ParseIdent();
	switch (ident)
	{
	case ID_WXPARENT:
		return ParseWxParent();
		break;
	case ID_PARENT:
		return ParseParent();
		break;
	case ID_FORM:
		return ParseForm();
		break;
	case ID_IFNOTNULL:
		return ParseIfNotNull();
		break;
	case ID_IFNULL:
		return ParseIfNull();
		break;
	case ID_FOREACH:
		return ParseForEach();
		break;
	case ID_PREDEFINED:
		return ParsePred();
		break;
	case ID_PREDEFINED_INDEX:
		return ParseNPred();
		break;
	case ID_CHILD:
		return ParseChild();
		break;
	case ID_NEWLINE:
		return ParseNewLine();
		break;
	case ID_IFEQUAL:
		ParseIfEqual();
		break;
	case ID_IFNOTEQUAL:
		ParseIfNotEqual();
		break;
	case ID_IFPARENTTYPEEQUAL:
		ParseIfParentTypeEqual();
		break;
	case ID_IFPARENTCLASSEQUAL:
		ParseIfParentClassEqual();
		break;
	case ID_IFPARENTTYPENOTEQUAL:
		ParseIfParentTypeNotEqual();
		break;
	case ID_IFPARENTCLASSNOTEQUAL:
		ParseIfParentClassNotEqual();
		break;
	case ID_APPEND:
		ParseAppend();
		break;
	case ID_CLASS:
		ParseClass();
		break;
	case ID_INDENT:
		ParseIndent();
		break;
	case ID_UNINDENT:
		ParseUnindent();
		break;
	case ID_IFTYPEEQUAL:
		ParseIfTypeEqual();
		break;
	case ID_IFTYPENOTEQUAL:
		ParseIfTypeNotEqual();
		break;
	case ID_UTBL:
		ParseLuaTable();
		break;
	default:
		THROW_WXFBEX( wxT("Invalid Macro Type") );
		break;
	}

	return true;
}