public void print(int l)
        {
            print(l, "PrefixGenericName = " + m_token.m_value);
            if (m_decoration != null)
                {
                m_decoration.print(l + 1);
                }
        }
    }

    public class AstInfixGenericName extends AstBase
    {
        AstDecorations m_decoration;

        public void print(int l)
        {
            print(l, "InfixGenericName = " + getName());
            if (m_decoration != null)
                {
                m_decoration.print(l + 1);
                }
        }

        public String getName()
        {
            return m_token.m_value;
        }
    }

    public class AstInfixFunctionName extends AstBase
    {
        AstDecorations m_decoration;

        public void print(int l)
        {
            print(l, m_token.m_value);
            if (m_decoration != null)
                {
                m_decoration.print(l + 1);
                }
        }
    }

    public class AstInfixRelationName extends AstBase
    {
        AstDecorations m_decoration;

        public void print(int l)
        {
            print(l, "InfixRelationName = " + m_token.m_value);
            if (m_decoration != null)
                {
                m_decoration.print(l + 1);
                }
        }
    }

    public class AstPrefixRelationName extends AstBase
    {
        public void print(int l)
        {
            print(l, "PrefixRelationName = " + getName());
        }

        public String getName()
        {
            return m_token.m_value;
        }
    }

    public class AstPostfixFunctionName extends AstBase
    {
        AstDecorations m_decoration;

        public void print(int l)
        {
            print(l, "PrefixFunctionName = " + m_token.m_value);
            m_decoration.print(l + 1);
        }