Beispiel #1
0
        private BoundExpression BindIdentifierExpression(IdentifierExpression expression)
        {
            string name = expression.IdentifierToken.Text;

            if (symbolTable.TryGetValue(expression.IdentifierToken.Text, out var value))
            {
                return(new BoundIdentifierExpression(name, value.GetType(), value));
            }

            diagnostics.Report(expression.IdentifierToken.Span, "Variable not defined");

            return(new BoundIdentifierExpression(name, typeof(int), 0));
        }