private void CheckFunction(FuncSar sar) { if (sar.ArgList.ArgList.Count != sar.SymObj.Data.Params.Count) { SemanticInvalidArgument(sar); } for (int i = 0; i < sar.ArgList.ArgList.Count; i++) { if (sar.ArgList.ArgList[i].SymObj.Data.Type != SymbolTb.GetSymbol(sar.SymObj.Data.Params[i]).Data.Type) { SemanticInvalidArgument(sar); } } }
public void Func() { var arglist = _sas.Pop(); var ident = _sas.Pop(); var func = new FuncSar { Value = ident.Value, ArgList = (ArgumentListSar)arglist }; _sas.Push(func); }