/* 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 { namespace pattern { /// /// A chunk is either a token tag, a rule tag, or a span of literal text within a /// tree pattern. ///

/// The method returns a list of /// chunks in preparation for creating a token stream by /// . From there, we get a parse /// tree from with . These /// chunks are converted to , , or the /// regular tokens of the text surrounding the tags. ///

class ANTLR4CPP_PUBLIC Chunk { public: Chunk() = default; Chunk(Chunk const&) = default; virtual ~Chunk(); Chunk& operator=(Chunk const&) = default; /// This method returns a text representation of the tag chunk. Labeled tags /// are returned in the form {@code label:tag}, and unlabeled tags are /// returned as just the tag name. virtual std::string toString() { std::string str; return str; } }; } // namespace pattern } // namespace tree } // namespace antlr4