Sha256: c0ab6baebebc4dedcecaeba4047e31a6175808dada2e64130ea17ac8f744ed6a

Contents?: true

Size: 1.98 KB

Versions: 19

Compression:

Stored size: 1.98 KB

Contents

/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
 * Use of this file is governed by the BSD 3-clause license that
 * can be found in the LICENSE.txt file in the project root.
 */

#pragma once

#include "antlr4-common.h"

namespace antlr4 {
namespace tree {

  class ANTLR4CPP_PUBLIC ParseTreeWalker {
  public:
    static ParseTreeWalker &DEFAULT;

    virtual ~ParseTreeWalker() = default;

    /**
    * <summary>
    * Performs a walk on the given parse tree starting at the root and going down recursively
	* with depth-first search. On each node, <seealso cref="ParseTreeWalker#enterRule"/> is called before
    * recursively walking down into child nodes, then
    * <seealso cref="ParseTreeWalker#exitRule"/> is called after the recursive call to wind up.
	* </summary>
    * <param name='listener'> The listener used by the walker to process grammar rules </param>
	* <param name='t'> The parse tree to be walked on </param>
    */
    virtual void walk(ParseTreeListener *listener, ParseTree *t) const;

  protected:

    /**
    * <summary>
    * Enters a grammar rule by first triggering the generic event <seealso cref="ParseTreeListener#enterEveryRule"/>
	* then by triggering the event specific to the given parse tree node
	* </summary>
    * <param name='listener'> The listener responding to the trigger events </param>
	* <param name='r'> The grammar rule containing the rule context </param>
    */
    virtual void enterRule(ParseTreeListener *listener, ParseTree *r) const;

    /**
    * <summary>
    * Exits a grammar rule by first triggering the event specific to the given parse tree node
	* then by triggering the generic event <seealso cref="ParseTreeListener#exitEveryRule"/>
	* </summary>
    * <param name='listener'> The listener responding to the trigger events </param>
	* <param name='r'> The grammar rule containing the rule context </param>
    */
    virtual void exitRule(ParseTreeListener *listener, ParseTree *r) const;
  };

} // namespace tree
} // namespace antlr4

Version data entries

19 entries across 19 versions & 3 rubygems

Version Path
expressir-1.4.2 ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h
expressir-1.4.1 ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h
expressir-1.4.0 ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h
expressir-1.3.3 ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h
expressir-1.3.2 ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h
expressir-1.3.1 ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h
expressir-1.3.0 ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h
expressir-1.3.0.pre.5 ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h
expressir-1.3.0.pre.2 ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h
expressir-1.3.0.pre.1 ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h
expressir-1.2.11 ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h
expressir-1.2.10 ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h
expressir-1.2.9 ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h
factorial-presto-parser-1.0.7 ext/presto_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h
did_parser-1.0.0 ext/did_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h
expressir-1.2.8 ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h
expressir-1.2.7 ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h
expressir-1.2.6 ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h
expressir-1.2.5 ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h