Пример #1
0
        /**
         * Allow a PLVisitor to walk over the abstract syntax tree represented by this
         * Sentence.
         *
         * @param plv
         *            a Propositional Logic visitor.
         * @param arg
         *            an optional argument for use by the visior.
         * @return a result specific to the visitors behavior.
         */
        public virtual R accept <A, R>(PLVisitor <A, R> plv, A arg)
        {
            R result = default(R);

            if (isPropositionSymbol())
            {
                result = plv.visitPropositionSymbol((PropositionSymbol)this, arg);
            }
            else if (isUnarySentence())
            {
                result = plv.visitUnarySentence((ComplexSentence)this, arg);
            }
            else if (isBinarySentence())
            {
                result = plv.visitBinarySentence((ComplexSentence)this, arg);
            }

            return(result);
        }
Пример #2
0
        /**
         * Permite a un PLVisitor recorrer el árbol de sintaxis abstracta representado por esta sentencia.
         *
         * @param plv
         *            un visitante de Lógica Proposicional.
         * @param arg
         *            un argumento opcional que puede ser usado por el visitante.
         * @return un resultado específico del comportamiento del visitante.
         */
        public R Accept <A, R>(PLVisitor <A, R> plv, A arg) // Tupla de Java ponía <A, R> R ... hay que poner los tipos genéricos en el nombre del método también (y lo que se devuelve es R no Tuple<A, R>)
        {
            R result = default(R);                          // Por si R no admite nulos

            if (IsPropositionSymbol())
            {
                result = plv.VisitPropositionSymbol((PropositionSymbol)this, arg);
            }
            else if (IsUnarySentence())
            {
                result = plv.VisitUnarySentence((ComplexSentence)this, arg);
            }
            else if (IsBinarySentence())
            {
                result = plv.VisitBinarySentence((ComplexSentence)this, arg);
            }

            return(result);
        }
Пример #3
0
		public override Object accept(PLVisitor plv, Object arg) 
		{
			return plv.visitBinarySentence(this, arg);
		}
Пример #4
0
 public abstract Object accept(PLVisitor plv, Object arg);
Пример #5
0
 public override Object accept(PLVisitor plv, Object arg)
 {
     return(plv.visitBinarySentence(this, arg));
 }
Пример #6
0
 public override Object accept(PLVisitor plv, Object arg)
 {
     return(plv.visitSymbol(this, arg));
 }
Пример #7
0
		public override Object accept(PLVisitor plv, Object arg) 
		{
			return plv.visitSymbol(this, arg);
		}
Пример #8
0
		public abstract Object accept(PLVisitor plv,Object arg);