add antlr
This commit is contained in:
44
lib/antlr4/include/tree/pattern/Chunk.h
Normal file
44
lib/antlr4/include/tree/pattern/Chunk.h
Normal file
@@ -0,0 +1,44 @@
|
||||
/* 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 {
|
||||
|
||||
/// <summary>
|
||||
/// A chunk is either a token tag, a rule tag, or a span of literal text within a
|
||||
/// tree pattern.
|
||||
/// <p/>
|
||||
/// The method <seealso cref="ParseTreePatternMatcher#split(String)"/> returns a list of
|
||||
/// chunks in preparation for creating a token stream by
|
||||
/// <seealso cref="ParseTreePatternMatcher#tokenize(String)"/>. From there, we get a parse
|
||||
/// tree from with <seealso cref="ParseTreePatternMatcher#compile(String, int)"/>. These
|
||||
/// chunks are converted to <seealso cref="RuleTagToken"/>, <seealso cref="TokenTagToken"/>, or the
|
||||
/// regular tokens of the text surrounding the tags.
|
||||
/// </summary>
|
||||
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
|
Reference in New Issue
Block a user