Пример #1
0
CcNode_t *
CcNode(const CcNodeType_t * type, int line)
{
    CcNode_t * self = (CcNode_t *)CcObject(&type->base);
    self->line = line;
    return self;
}
Пример #2
0
CcString_t *
CcString(const char * value)
{
    CcString_t * self = (CcString_t *)CcObject(&StringType);
    self->value = CcStrdup(value);
    return self;
}
Пример #3
0
void
CcGlobals_NewSection(CcGlobals_t * self, const char * secname,
		     CcsPosition_t * pos)
{
    CcSection_t * section = (CcSection_t *)
	CcArrayList_New(&self->sections, CcObject(&SectionType));
    section->name = CcStrdup(secname);
    section->pos = pos;
}
Пример #4
0
int
CcSyntax_SyncError(CcSyntax_t * self, const CcSymbol_t * sym)
{
    CcSyntaxError_t * error = (CcSyntaxError_t *)
	CcArrayList_New(&self->errors, CcObject(&CcSyntaxErrorType));
    error->type = cet_sync;
    error->sym = sym;
    return error->base.index;
}
Пример #5
0
static CcObject_t *
CcXmlData(const char * tokenName, const CcsToken_t * token)
{
    CcXmlData_t * self = (CcXmlData_t *)CcObject(&XmlDataType);
    self->tokenName = CcUnescape(tokenName);
    self->name = CcUnescape(token->val);
    memcpy(&self->loc, &token->loc, sizeof(token->loc));
    return (CcObject_t *)self;
}
Пример #6
0
CcXmlSpec_t *
CcXmlSpec(CcGlobals_t * globals)
{
    CcXmlSpec_t * self = (CcXmlSpec_t *)CcObject(&XmlSpecType);
    self->globals = globals;
    self->caseSensitive = TRUE;
    CcBitArray(&self->options, XSO_SIZE);
    CcArrayList(&self->Tags);
    CcArrayList(&self->Attrs);
    CcArrayList(&self->PInstructions);
    return self;
}
Пример #7
0
static void
CcSyntax_Errors(CcSyntax_t * self)
{
    CcArrayListIter_t iter;
    const CcSymbol_t * sym;
    CcSyntaxError_t * error;
    const CcArrayList_t * terminals = &self->globals->symtab.terminals;
    for (sym = (const CcSymbol_t *)CcArrayList_FirstC(terminals, &iter);
	 sym; sym = (const CcSymbol_t *)CcArrayList_NextC(terminals, &iter)) {
	error = (CcSyntaxError_t *)
	    CcArrayList_New(&self->errors, CcObject(&CcSyntaxErrorType));
	error->type = cet_t;
	error->sym = sym;
    }
}
Пример #8
0
CcState_t *
CcState(void)
{
    return (CcState_t *)CcObject(&StateType);
}