static int pdecl (int *lvnp) { int di, si, i; di = Cnew (C_DECL); if (Ltok != L_ID) { Csetfp (di, C_NULL); return di; } si = Cstring (Lstrtok); addlv (si, (*lvnp)++); Csetfp (di, si); i = si; Lgtok (); if (Ltok != L_COMMA) return di; Lgtok (); while (Ltok == L_ID) { si = Cstring (Lstrtok); addlv (si, (*lvnp)++); Lgtok (); Csetnext (i, si); i = si; if (Ltok == L_COMMA) { Lgtok (); if (Ltok != L_ID) err ("expected identifier, found %s", Lnames[Ltok]); } } return di; }
void CLocalVariable::Make(const wchar_t *name, const CValue &value) { CVariable addlv(name); addlv.v = value; stack[depth].substack.push_back(addlv); }
void CLocalVariable::Make(const wstring &name) { CVariable addlv(name); stack[depth].substack.push_back(addlv); }
void CLocalVariable::Make(const wstring &name, const wstring &delimiter) { CVariable addlv(name); addlv.delimiter = delimiter; stack[depth].substack.push_back(addlv); }
void CLocalVariable::Make(const wstring &name, const CValueSub &value) { CVariable addlv(name); addlv.v = value; stack[depth].substack.push_back(addlv); }