Exemple #1
0
        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);
                }
            }
        }
Exemple #2
0
 public void Func()
 {
     var arglist = _sas.Pop();
     var ident = _sas.Pop();
     var func = new FuncSar { Value = ident.Value, ArgList = (ArgumentListSar)arglist };
     _sas.Push(func);
 }