Assembler.Assembler.Expression C# (CSharp) Method

Expression() private method

private Expression ( Stack operations ) : void
operations Stack
return void
        private void Expression(Stack<ExpressionOperation> operations)
        {
            Term(operations);

            while (AssemblyTokenizer.IsExpressionOperation(tokens[pos].Type))
            {
                if (Accept(TokenType.Add))
                {
                    Term(operations);
                    operations.Push(new ExpressionOperation(TokenType.Add));
                }
                else if (Accept(TokenType.Subtract))
                {
                    Term(operations);
                    operations.Push(new ExpressionOperation(TokenType.Subtract));
                }
                else
                    throw new AssemblerException("Expected expression operation.");
            }
        }