private Assingment[] MaxAssingments()
 {
     Assingment[] assingments = new Assingment[infos.Count];
     for (int i = 0; i < assingments.Length; ++i)
     {
         assingments[i] = new Assingment()
         {
             name = infos[i].name, p = infos[i].pmax
         }
     }
     ;
     return(assingments);
 }
        private FirstPassResult HandleAssignmentFirstPass(
            IExpression <T> expression,
            AssemblyContext <T> assemblyContext)
        {
            Assingment <T> assignment = (Assingment <T>)expression;

            if (assignment.VariableCount != 0)
            {
                assemblyContext.AddError(assignment, "Assignments with parameters aren't supported.");
            }
            else
            {
                assemblyContext.CurrentScope.AddNewSymbol(assignment.Name.Name, assignment.Result);
            }
            return(FirstPassResult.Invalid());
        }