diff options
author | monster <monster@ydb.tech> | 2022-07-07 14:41:37 +0300 |
---|---|---|
committer | monster <monster@ydb.tech> | 2022-07-07 14:41:37 +0300 |
commit | 06e5c21a835c0e923506c4ff27929f34e00761c2 (patch) | |
tree | 75efcbc6854ef9bd476eb8bf00cc5c900da436a2 /contrib/libs/antlr3_cpp_runtime | |
parent | 03f024c4412e3aa613bb543cf1660176320ba8f4 (diff) | |
download | ydb-06e5c21a835c0e923506c4ff27929f34e00761c2.tar.gz |
fix ya.make
Diffstat (limited to 'contrib/libs/antlr3_cpp_runtime')
6 files changed, 0 insertions, 944 deletions
diff --git a/contrib/libs/antlr3_cpp_runtime/.yandex_meta/devtools.copyrights.report b/contrib/libs/antlr3_cpp_runtime/.yandex_meta/devtools.copyrights.report deleted file mode 100644 index f83a49ca54..0000000000 --- a/contrib/libs/antlr3_cpp_runtime/.yandex_meta/devtools.copyrights.report +++ /dev/null @@ -1,77 +0,0 @@ -# File format ($ symbol means the beginning of a line): -# -# $ # this message -# $ # ======================= -# $ # comments (all commentaries should starts with some number of spaces and # symbol) -# ${action} {license id} {license text hash} -# $BELONGS ./ya/make/file/relative/path/1/ya.make ./ya/make/2/ya.make -# ${all_file_action} filename -# $ # user commentaries (many lines) -# $ generated description - files with this license, license text... (some number of lines that starts with some number of spaces, do not modify) -# ${action} {license spdx} {license text hash} -# $BELONGS ./ya/make/file/relative/path/3/ya.make -# ${all_file_action} filename -# $ # user commentaries -# $ generated description -# $ ... -# -# You can modify action, all_file_action and add commentaries -# Available actions: -# keep - keep license in contrib and use in credits -# skip - skip license -# remove - remove all files with this license -# rename - save license text/links into licenses texts file, but not store SPDX into LINCENSE macro. You should store correct license id into devtools.license.spdx.txt file -# -# {all file action} records will be generated when license text contains filename that exists on filesystem (in contrib directory) -# We suppose that that files can contain some license info -# Available all file actions: -# FILE_IGNORE - ignore file (do nothing) -# FILE_INCLUDE - include all file data into licenses text file -# ======================= - -KEEP COPYRIGHT_SERVICE_LABEL 487f5db7281296f7145a1268d0f46773 -BELONGS ya.make - License text: - // Copyright (c) 2005-2009 Gokulakannan Somasundaram, ElectronDB - Scancode info: - Original SPDX id: COPYRIGHT_SERVICE_LABEL - Score : 100.00 - Match type : COPYRIGHT - Files with this license: - include/antlr3.hpp [5:5] - include/antlr3baserecognizer.hpp [11:11] - include/antlr3bitset.hpp [12:12] - include/antlr3collections.hpp [5:5] - include/antlr3commontoken.hpp [15:15] - include/antlr3commontree.hpp [9:9] - include/antlr3commontreeadaptor.hpp [9:9] - include/antlr3commontreenodestream.hpp [9:9] - include/antlr3cyclicdfa.hpp [10:10] - include/antlr3debugeventlistener.hpp [19:19] - include/antlr3defs.hpp [8:8] - include/antlr3errors.hpp [5:5] - include/antlr3exception.hpp [19:19] - include/antlr3filestream.hpp [5:5] - include/antlr3input.hpp [12:12] - include/antlr3interfaces.hpp [11:11] - include/antlr3intstream.hpp [35:35] - include/antlr3lexer.hpp [34:34] - include/antlr3memory.hpp [5:5] - include/antlr3parser.hpp [10:10] - include/antlr3recognizersharedstate.hpp [18:18] - include/antlr3rewriterulesubtreestream.hpp [5:5] - include/antlr3rewriteruletokenstream.hpp [5:5] - include/antlr3rewritestreams.hpp [5:5] - include/antlr3tokenstream.hpp [10:10] - include/antlr3treeparser.hpp [5:5] - -KEEP COPYRIGHT_SERVICE_LABEL 945f656078309035caf01d2420f95535 -BELONGS ya.make - License text: - * Copyright 2001-2004 Unicode, Inc. - Scancode info: - Original SPDX id: COPYRIGHT_SERVICE_LABEL - Score : 100.00 - Match type : COPYRIGHT - Files with this license: - include/antlr3convertutf.hpp [2:2] diff --git a/contrib/libs/antlr3_cpp_runtime/.yandex_meta/devtools.licenses.report b/contrib/libs/antlr3_cpp_runtime/.yandex_meta/devtools.licenses.report deleted file mode 100644 index a75720d825..0000000000 --- a/contrib/libs/antlr3_cpp_runtime/.yandex_meta/devtools.licenses.report +++ /dev/null @@ -1,138 +0,0 @@ -# File format ($ symbol means the beginning of a line): -# -# $ # this message -# $ # ======================= -# $ # comments (all commentaries should starts with some number of spaces and # symbol) -# ${action} {license spdx} {license text hash} -# $BELONGS ./ya/make/file/relative/path/1/ya.make ./ya/make/2/ya.make -# ${all_file_action} filename -# $ # user commentaries (many lines) -# $ generated description - files with this license, license text... (some number of lines that starts with some number of spaces, do not modify) -# ${action} {license spdx} {license text hash} -# $BELONGS ./ya/make/file/relative/path/3/ya.make -# ${all_file_action} filename -# $ # user commentaries -# $ generated description -# $ ... -# -# You can modify action, all_file_action and add commentaries -# Available actions: -# keep - keep license in contrib and use in credits -# skip - skip license -# remove - remove all files with this license -# rename - save license text/links into licenses texts file, but not store SPDX into LINCENSE macro. You should store correct license id into devtools.license.spdx.txt file -# -# {all file action} records will be generated when license text contains filename that exists on filesystem (in contrib directory) -# We suppose that that files can contain some license info -# Available all file actions: -# FILE_IGNORE - ignore file (do nothing) -# FILE_INCLUDE - include all file data into licenses text file -# ======================= - -SKIP LicenseRef-scancode-unknown-license-reference 1ea2485bc5ae3a83ea15a16e65f88cb5 -BELONGS ya.make - License text: - /// Produce a DOT (see graphviz freeware suite) from a base tree - Scancode info: - Original SPDX id: LicenseRef-scancode-unknown-license-reference - Score : 100.00 - Match type : REFERENCE - Links : https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/unknown-license-reference.LICENSE - Files with this license: - include/antlr3commontreeadaptor.hpp [175:175] - -KEEP Unicode-Mappings 21a868edc7974974e055dab130756d20 -BELONGS ya.make - Note: matched license text is too long. Read it in the source files. - Scancode info: - Original SPDX id: LicenseRef-scancode-unicode-mappings - Score : 99.00 - Match type : NOTICE - Links : https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/unicode-mappings.LICENSE - Files with this license: - include/antlr3convertutf.hpp [4:20] - -KEEP BSD-3-Clause 34338f662d2c64c570a2231b4cf8b4d6 -BELONGS ya.make - License text: - * as covered by the BSD license under which ANTLR is issued. You can cut the code - Scancode info: - Original SPDX id: BSD-3-Clause - Score : 99.00 - Match type : REFERENCE - Links : http://www.opensource.org/licenses/BSD-3-Clause, https://spdx.org/licenses/BSD-3-Clause - Files with this license: - include/antlr3collections.hpp [96:96] - -KEEP BSD-3-Clause b88430f0378e11c82525d52e66d2eea4 -BELONGS ya.make - Note: matched license text is too long. Read it in the source files. - Scancode info: - Original SPDX id: BSD-3-Clause - Score : 100.00 - Match type : TEXT - Links : http://www.opensource.org/licenses/BSD-3-Clause, https://spdx.org/licenses/BSD-3-Clause - Files with this license: - include/antlr3.hpp [9:29] - include/antlr3baserecognizer.hpp [16:36] - include/antlr3bitset.hpp [17:37] - include/antlr3collections.hpp [10:30] - include/antlr3commontoken.hpp [20:40] - include/antlr3commontree.hpp [14:34] - include/antlr3commontreeadaptor.hpp [14:34] - include/antlr3commontreenodestream.hpp [14:34] - include/antlr3cyclicdfa.hpp [15:35] - include/antlr3debugeventlistener.hpp [24:44] - include/antlr3defs.hpp [13:33] - include/antlr3errors.hpp [10:30] - include/antlr3exception.hpp [24:44] - include/antlr3filestream.hpp [10:30] - include/antlr3input.hpp [17:37] - include/antlr3interfaces.hpp [15:35] - include/antlr3intstream.hpp [40:60] - include/antlr3lexer.hpp [39:59] - include/antlr3memory.hpp [10:30] - include/antlr3parser.hpp [15:35] - include/antlr3recognizersharedstate.hpp [23:43] - include/antlr3rewriterulesubtreestream.hpp [10:30] - include/antlr3rewriteruletokenstream.hpp [10:30] - include/antlr3rewritestreams.hpp [10:30] - include/antlr3tokenstream.hpp [15:35] - include/antlr3treeparser.hpp [10:30] - -KEEP BSD-3-Clause d377dec7c659f1f9f14adbdefe822aa2 -BELONGS ya.make - License text: - // [The "BSD licence"] - Scancode info: - Original SPDX id: BSD-3-Clause - Score : 99.00 - Match type : REFERENCE - Links : http://www.opensource.org/licenses/BSD-3-Clause, https://spdx.org/licenses/BSD-3-Clause - Files with this license: - include/antlr3.hpp [4:4] - include/antlr3baserecognizer.hpp [10:10] - include/antlr3bitset.hpp [11:11] - include/antlr3collections.hpp [4:4] - include/antlr3commontoken.hpp [14:14] - include/antlr3commontree.hpp [8:8] - include/antlr3commontreeadaptor.hpp [8:8] - include/antlr3commontreenodestream.hpp [8:8] - include/antlr3cyclicdfa.hpp [9:9] - include/antlr3debugeventlistener.hpp [18:18] - include/antlr3defs.hpp [7:7] - include/antlr3errors.hpp [4:4] - include/antlr3exception.hpp [18:18] - include/antlr3filestream.hpp [4:4] - include/antlr3input.hpp [11:11] - include/antlr3interfaces.hpp [10:10] - include/antlr3intstream.hpp [34:34] - include/antlr3lexer.hpp [33:33] - include/antlr3memory.hpp [4:4] - include/antlr3parser.hpp [9:9] - include/antlr3recognizersharedstate.hpp [17:17] - include/antlr3rewriterulesubtreestream.hpp [4:4] - include/antlr3rewriteruletokenstream.hpp [4:4] - include/antlr3rewritestreams.hpp [4:4] - include/antlr3tokenstream.hpp [9:9] - include/antlr3treeparser.hpp [4:4] diff --git a/contrib/libs/antlr3_cpp_runtime/.yandex_meta/licenses.list.txt b/contrib/libs/antlr3_cpp_runtime/.yandex_meta/licenses.list.txt deleted file mode 100644 index 7b99c403e9..0000000000 --- a/contrib/libs/antlr3_cpp_runtime/.yandex_meta/licenses.list.txt +++ /dev/null @@ -1,58 +0,0 @@ -====================BSD-3-Clause==================== - * as covered by the BSD license under which ANTLR is issued. You can cut the code - - -====================BSD-3-Clause==================== -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. The name of the author may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -====================BSD-3-Clause==================== -// [The "BSD licence"] - - -====================COPYRIGHT==================== - * Copyright 2001-2004 Unicode, Inc. - - -====================COPYRIGHT==================== -// Copyright (c) 2005-2009 Gokulakannan Somasundaram, ElectronDB - - -====================Unicode-Mappings==================== - * Disclaimer - * - * This source code is provided as is by Unicode, Inc. No claims are - * made as to fitness for any particular purpose. No warranties of any - * kind are expressed or implied. The recipient agrees to determine - * applicability of information provided. If this file has been - * purchased on magnetic or optical media from Unicode, Inc., the - * sole remedy for any claim will be exchange of defective media - * within 90 days of receipt. - * - * Limitations on Rights to Redistribute This Code - * - * Unicode, Inc. hereby grants the right to freely use the information - * supplied in this file in the creation of products supporting the - * Unicode Standard, and to make copies of this file in any form - * for internal or external distribution as long as this notice - * remains attached. diff --git a/contrib/libs/antlr3_cpp_runtime/include/antlr3.inl b/contrib/libs/antlr3_cpp_runtime/include/antlr3.inl deleted file mode 100644 index b2d223398d..0000000000 --- a/contrib/libs/antlr3_cpp_runtime/include/antlr3.inl +++ /dev/null @@ -1,9 +0,0 @@ -namespace antlr3 { - -//static -ANTLR_INLINE void GenericStream::displayRecognitionError( const StringType& str ) -{ - fprintf(stderr, str.c_str() ); -} - -} diff --git a/contrib/libs/antlr3_cpp_runtime/include/antlr3rewritestreams.hpp b/contrib/libs/antlr3_cpp_runtime/include/antlr3rewritestreams.hpp deleted file mode 100644 index a8d7396643..0000000000 --- a/contrib/libs/antlr3_cpp_runtime/include/antlr3rewritestreams.hpp +++ /dev/null @@ -1,299 +0,0 @@ -#ifndef ANTLR3REWRITESTREAM_HPP -#define ANTLR3REWRITESTREAM_HPP - -// [The "BSD licence"] -// Copyright (c) 2005-2009 Gokulakannan Somasundaram, ElectronDB - -// -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// 3. The name of the author may not be used to endorse or promote products -// derived from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -/// A generic list of elements tracked in an alternative to be used in -/// a -> rewrite rule. -/// -/// In the C implementation, all tree oriented streams return a pointer to -/// the same type: pANTLR3_BASE_TREE. Anything that has subclassed from this -/// still passes this type, within which there is a super pointer, which points -/// to it's own data and methods. Hence we do not need to implement this as -/// the equivalent of an abstract class, but just fill in the appropriate interface -/// as usual with this model. -/// -/// Once you start next()ing, do not try to add more elements. It will -/// break the cursor tracking I believe. -/// -/// -/// \see #pANTLR3_REWRITE_RULE_NODE_STREAM -/// \see #pANTLR3_REWRITE_RULE_ELEMENT_STREAM -/// \see #pANTLR3_REWRITE_RULE_SUBTREE_STREAM -/// -/// TODO: add mechanism to detect/puke on modification after reading from stream -/// -namespace antlr3 { - -template<class ImplTraits, class ElementType> -//template<class ImplTraits> -class RewriteRuleElementStream : public ImplTraits::AllocPolicyType -{ -public: - //typedef typename ElementTypePtr::element_type ElementType; unique_ptr - //typedef typename ImplTraits::TreeType TreeType; - typedef typename ImplTraits::AllocPolicyType AllocPolicyType; - typedef typename ImplTraits::TreeAdaptorType TreeAdaptorType; - - //typedef typename ImplTraits::template RecognizerType< typename SuperType::StreamType > RecognizerType; - typedef typename ImplTraits::StringType StringType; - typedef typename AllocPolicyType::template VectorType< ElementType* > ElementsType; - -protected: - /// The list of tokens or subtrees we are tracking - /// - ElementsType m_elements; - - /// The element or stream description; usually has name of the token or - /// rule reference that this list tracks. Can include rulename too, but - /// the exception would track that info. - /// - StringType m_elementDescription; - -private: - ElementType* dupImpl(typename ImplTraits::CommonTokenType* el); - ElementType* dupImpl(typename ImplTraits::TreeTypePtr el); - - - /// Pointer to the tree adaptor in use for this stream - /// - TreeAdaptorType* m_adaptor; - - /// Cursor 0..n-1. If singleElement!=NULL, cursor is 0 until you next(), - /// which bumps it to 1 meaning no more elements. - /// - ANTLR_UINT32 m_cursor; - - /// Once a node / subtree has been used in a stream, it must be dup'ed - /// from then on. Streams are reset after sub rules so that the streams - /// can be reused in future sub rules. So, reset must set a dirty bit. - /// If dirty, then next() always returns a dup. - /// - bool m_dirty; - -public: - RewriteRuleElementStream(TreeAdaptorType* adaptor, const char* description); - RewriteRuleElementStream(TreeAdaptorType* adaptor, const char* description, const ElementType* oneElement); - RewriteRuleElementStream(TreeAdaptorType* adaptor, const char* description, const ElementsType& elements); - - ~RewriteRuleElementStream(); - // Methods - - /// Reset the condition of this stream so that it appears we have - /// not consumed any of its elements. Elements themselves are untouched. - /// - void reset(); - - /// Add a new pANTLR3_BASE_TREE to this stream - /// - void add(ElementType* el); - - /// Return the next element in the stream. If out of elements, throw - /// an exception unless size()==1. If size is 1, then return elements[0]. - /// - //TokenType* next(); - ElementType nextTree(); - //TokenType* nextToken(); - ElementType* _next(); - - /// When constructing trees, sometimes we need to dup a token or AST - /// subtree. Dup'ing a token means just creating another AST node - /// around it. For trees, you must call the adaptor.dupTree(). - /// - ElementType* dup( ElementType* el ); - - /// Ensure stream emits trees; tokens must be converted to AST nodes. - /// AST nodes can be passed through unmolested. - /// - ElementType* toTree(ElementType* el); - - /// Returns true if there is a next element available - /// - bool hasNext(); - - /// Treat next element as a single node even if it's a subtree. - /// This is used instead of next() when the result has to be a - /// tree root node. Also prevents us from duplicating recently-added - /// children; e.g., ^(type ID)+ adds ID to type and then 2nd iteration - /// must dup the type node, but ID has been added. - /// - /// Referencing to a rule result twice is ok; dup entire tree as - /// we can't be adding trees; e.g., expr expr. - /// - //TreeTypePtr nextNode(); - - /// Number of elements available in the stream - /// - ANTLR_UINT32 size(); - - /// Returns the description string if there is one available (check for NULL). - /// - StringType getDescription(); - -protected: - void init(TreeAdaptorType* adaptor, const char* description); -}; - -/// This is an implementation of a token stream, which is basically an element -/// stream that deals with tokens only. -/// -template<class ImplTraits> -//class RewriteRuleTokenStream : public ImplTraits::template RewriteRuleElementStreamType< typename ImplTraits::ParserType> -class RewriteRuleTokenStream - //: public ImplTraits::template RewriteStreamType< const typename ImplTraits::CommonTokenType > -{ -public: - typedef typename ImplTraits::AllocPolicyType AllocPolicyType; - typedef typename ImplTraits::TreeAdaptorType TreeAdaptorType; - typedef typename ImplTraits::ParserType ComponentType; - typedef typename ComponentType::StreamType StreamType; - typedef typename ImplTraits::CommonTokenType TokenType; - typedef typename ImplTraits::TreeType TreeType; - typedef typename ImplTraits::TreeTypePtr TreeTypePtr; - typedef typename AllocPolicyType::template VectorType< TokenType* > ElementsType; - typedef typename ImplTraits::template RecognizerType< StreamType > RecognizerType; - typedef typename ImplTraits::template RewriteStreamType< const typename ImplTraits::CommonTokenType > BaseType; - -public: - RewriteRuleTokenStream(TreeAdaptorType* adaptor, const char* description); - RewriteRuleTokenStream(TreeAdaptorType* adaptor, const char* description, const TokenType* oneElement); - RewriteRuleTokenStream(TreeAdaptorType* adaptor, const char* description, const ElementsType& elements); - - TreeTypePtr nextNode(); - TokenType* nextToken(); - - /// TODO copied from RewriteRuleElementStreamType - /// Add a new pANTLR3_BASE_TREE to this stream - /// - typedef typename ImplTraits::CommonTokenType ElementType; - void add(const ElementType* el); - /// Pointer to the tree adaptor in use for this stream - /// - TreeAdaptorType* m_adaptor; - ElementType* _next(); - -private: - //TreeTypePtr nextNodeToken(); -}; - -/// This is an implementation of a subtree stream which is a set of trees -/// modeled as an element stream. -/// -template<class ImplTraits> -//class RewriteRuleSubtreeStream : public ImplTraits::template RewriteStreamType< typename ImplTraits::TreeParserType> -class RewriteRuleSubtreeStream - //: public ImplTraits::template RewriteStreamType< typename ImplTraits::TreeType > -{ -public: - typedef typename ImplTraits::AllocPolicyType AllocPolicyType; - typedef typename ImplTraits::TreeAdaptorType TreeAdaptorType; - typedef typename ImplTraits::TreeParserType ComponentType; - typedef typename ComponentType::StreamType StreamType; - typedef typename ImplTraits::TreeType TreeType; - typedef typename ImplTraits::TreeTypePtr TreeTypePtr; - typedef TreeType TokenType; - typedef typename ImplTraits::template RecognizerType< StreamType > RecognizerType; - typedef typename AllocPolicyType::template VectorType< TokenType* > ElementsType; - typedef typename ImplTraits::template RewriteStreamType< typename ImplTraits::TreeType > BaseType; - - RewriteRuleSubtreeStream(TreeAdaptorType* adaptor, const char* description); - RewriteRuleSubtreeStream(TreeAdaptorType* adaptor, const char* description, TreeTypePtr& oneElement); - RewriteRuleSubtreeStream(TreeAdaptorType* adaptor, const char* description, const ElementsType& elements); - - TreeTypePtr nextNode(TreeTypePtr); - - /// TODO copied from RewriteRuleElementStreamType - /// Add a new pANTLR3_BASE_TREE to this stream - /// - void add(TreeTypePtr& el); - bool hasNext(); - TreeTypePtr& nextTree(); - void reset(); - -protected: - TreeTypePtr dup( TreeTypePtr el ); - -private: - TreeTypePtr dupTree( TreeTypePtr el ); -}; - -/* TODO This class is probably used in TreeParser only - * Notes about Java target - * - these classes reimplement only dup and toTree methods: - * base ElementStr - * abstract dup - * toTree(Object e) { return e; } - * TokenStr - * dup { throw } - * toTree(Object e) { return e; } - * SubTreeStr - * dup(Object e) { return adaptor.dupTree } - * NodeStr - * dup { throw } - * toTree(Object e) { return adaptor.dupNode } - * See: RewriteRuleElementStream::dup, RewriteRuleElementStream::dupImpl - * - * There should 3 types of specializations for RewriteRuleElementStreamType (which is not defined yet) - * ATM: RewriteRuleElementStreamType is replaced with ImplTraits::template RewriteStreamType - * -/// This is an implementation of a node stream, which is basically an element -/// stream that deals with tree nodes only. -/// -template<class ImplTraits> -//class RewriteRuleNodeStream : public ImplTraits::template RewriteStreamType< typename ImplTraits::TreeParserType> -class RewriteRuleNodeStream : public ImplTraits::template RewriteStreamType< typename ImplTraits::TreeType > -{ -public: - typedef typename ImplTraits::AllocPolicyType AllocPolicyType; - typedef typename ImplTraits::TreeAdaptorType TreeAdaptorType; - typedef typename ImplTraits::TreeParserType ComponentType; - typedef typename ComponentType::StreamType StreamType; - typedef typename ImplTraits::TreeType TreeType; - typedef TreeType TokenType; - typedef typename ImplTraits::template RecognizerType< StreamType > RecognizerType; - typedef typename AllocPolicyType::template VectorType< TokenType* > ElementsType; - typedef typename ImplTraits::template RewriteRuleElementStreamType< typename ImplTraits::TreeType > BaseType; - -public: - RewriteRuleNodeStream(TreeAdaptorType* adaptor, const char* description); - RewriteRuleNodeStream(TreeAdaptorType* adaptor, const char* description, TokenType* oneElement); - RewriteRuleNodeStream(TreeAdaptorType* adaptor, const char* description, const ElementsType& elements); - -protected: - TreeTypePtr toTree(TreeTypePtr element); - -private: - TreeTypePtr toTreeNode(TreeTypePtr element); -}; -*/ -} - -#include "antlr3rewritestreams.inl" - -#endif diff --git a/contrib/libs/antlr3_cpp_runtime/include/antlr3rewritestreams.inl b/contrib/libs/antlr3_cpp_runtime/include/antlr3rewritestreams.inl deleted file mode 100644 index 47568da649..0000000000 --- a/contrib/libs/antlr3_cpp_runtime/include/antlr3rewritestreams.inl +++ /dev/null @@ -1,363 +0,0 @@ -namespace antlr3 { - -template<class ImplTraits, class ElementType> -RewriteRuleElementStream<ImplTraits, ElementType>::RewriteRuleElementStream(TreeAdaptorType* adaptor, - const char* description) -{ - this->init(adaptor, description); -} - -template<class ImplTraits, class ElementType> -RewriteRuleElementStream<ImplTraits, ElementType>::RewriteRuleElementStream(TreeAdaptorType* adaptor, - const char* description, - const ElementType* oneElement) -{ - this->init(adaptor, description); - if( oneElement != NULL ) - this->add( oneElement ); -} - -template<class ImplTraits, class ElementType> -RewriteRuleElementStream<ImplTraits, ElementType>::RewriteRuleElementStream(TreeAdaptorType* adaptor, - const char* description, - const ElementsType& elements) - : m_elements(elements) -{ - this->init(adaptor, description); -} - -template<class ImplTraits, class ElementType> -void RewriteRuleElementStream<ImplTraits, ElementType>::init(TreeAdaptorType* adaptor, - const char* description) -{ - m_adaptor = adaptor; - m_cursor = 0; - m_dirty = false; -} - -template<class ImplTraits> -RewriteRuleTokenStream<ImplTraits>::RewriteRuleTokenStream(TreeAdaptorType* adaptor, - const char* description) - //: BaseType(adaptor, description) -{ -} - -template<class ImplTraits> -RewriteRuleTokenStream<ImplTraits>::RewriteRuleTokenStream(TreeAdaptorType* adaptor, - const char* description, - const TokenType* oneElement) - //: BaseType(adaptor, description, oneElement) -{ -} - -template<class ImplTraits> -RewriteRuleTokenStream<ImplTraits>::RewriteRuleTokenStream(TreeAdaptorType* adaptor, - const char* description, - const ElementsType& elements) - //: BaseType(adaptor, description, elements) -{ -} - -template<class ImplTraits> -RewriteRuleSubtreeStream<ImplTraits>::RewriteRuleSubtreeStream(TreeAdaptorType* adaptor, - const char* description) - //: BaseType(adaptor, description) -{ -} - -template<class ImplTraits> -RewriteRuleSubtreeStream<ImplTraits>::RewriteRuleSubtreeStream(TreeAdaptorType* adaptor, - const char* description, - TreeTypePtr& oneElement) - //: BaseType(adaptor, description, oneElement) -{ -} - -template<class ImplTraits> -RewriteRuleSubtreeStream<ImplTraits>::RewriteRuleSubtreeStream(TreeAdaptorType* adaptor, - const char* description, - const ElementsType& elements) - //: BaseType(adaptor, description, elements) -{ -} - -/* -template<class ImplTraits> -RewriteRuleNodeStream<ImplTraits>::RewriteRuleNodeStream(TreeAdaptorType* adaptor, - const char* description) - : BaseType(adaptor, description) -{ -} - -template<class ImplTraits> -RewriteRuleNodeStream<ImplTraits>::RewriteRuleNodeStream(TreeAdaptorType* adaptor, - const char* description, - TokenType* oneElement) - : BaseType(adaptor, description, oneElement) -{ -} - -template<class ImplTraits> -RewriteRuleNodeStream<ImplTraits>::RewriteRuleNodeStream(TreeAdaptorType* adaptor, - const char* description, - const ElementsType& elements) - : BaseType(adaptor, description, elements) -{ -} -*/ - -template<class ImplTraits, class ElementType> -void RewriteRuleElementStream<ImplTraits, ElementType>::reset() -{ - m_cursor = 0; - m_dirty = true; -} - -template<class ImplTraits, class ElementType> -void RewriteRuleElementStream<ImplTraits, ElementType>::add(ElementType* el) -{ - if ( el== NULL ) - return; - - m_elements.push_back(el); -} - -template<class ImplTraits, class ElementType> -ElementType* RewriteRuleElementStream<ImplTraits, ElementType>::_next() -{ - ANTLR_UINT32 n = this->size(); - - if (n == 0) - { - // This means that the stream is empty - return NULL; // Caller must cope with this (TODO throw RewriteEmptyStreamException) - } - - // Traversed all the available elements already? - if ( m_cursor >= n) // out of elements? - { - if (n == 1) - { - // Special case when size is single element, it will just dup a lot - //return this->toTree(m_singleElement); - return this->toTree(m_elements.at(0)); - } - - // Out of elements and the size is not 1, so we cannot assume - // that we just duplicate the entry n times (such as ID ent+ -> ^(ID ent)+) - // This means we ran out of elements earlier than was expected. - // - return NULL; // Caller must cope with this (TODO throw RewriteEmptyStreamException) - } - - // More than just a single element so we extract it from the - // vector. - ElementType* t = this->toTree(m_elements.at(m_cursor)); - m_cursor++; - return t; -} - -template<class ImplTraits, class ElementType> -ElementType -RewriteRuleElementStream<ImplTraits, ElementType>::nextTree() -{ - ANTLR_UINT32 n = this->size(); - if ( m_dirty || ( (m_cursor >=n) && (n==1)) ) - { - // if out of elements and size is 1, dup - ElementType* el = this->_next(); - return this->dup(el); - } - - // test size above then fetch - ElementType* el = this->_next(); - return el; -} - -/* -template<class ImplTraits, class SuperType> -typename RewriteRuleElementStream<ImplTraits, SuperType>::TokenType* -RewriteRuleElementStream<ImplTraits, SuperType>::nextToken() -{ - return this->_next(); -} - -template<class ImplTraits, class SuperType> -typename RewriteRuleElementStream<ImplTraits, SuperType>::TokenType* -RewriteRuleElementStream<ImplTraits, SuperType>::next() -{ - ANTLR_UINT32 s; - s = this->size(); - if ( (m_cursor >= s) && (s == 1) ) - { - TreeTypePtr el; - el = this->_next(); - return this->dup(el); - } - return this->_next(); -} - -*/ - -template<class ImplTraits, class ElementType> -ElementType* -RewriteRuleElementStream<ImplTraits, ElementType>::dup( ElementType* element) -{ - return dupImpl(element); -} - -template<class ImplTraits, class ElementType> -ElementType* -RewriteRuleElementStream<ImplTraits, ElementType>::dupImpl( typename ImplTraits::CommonTokenType* element) -{ - return NULL; // TODO throw here -} - -template<class ImplTraits, class ElementType> -ElementType* -RewriteRuleElementStream<ImplTraits, ElementType>::dupImpl( typename ImplTraits::TreeTypePtr element) -{ - return m_adaptor->dupTree(element); -} - -template<class ImplTraits> -typename RewriteRuleSubtreeStream<ImplTraits>::TreeTypePtr -RewriteRuleSubtreeStream<ImplTraits>::dup(TreeTypePtr element) -{ - return this->dupTree(element); -} - -template<class ImplTraits> -typename RewriteRuleSubtreeStream<ImplTraits>::TreeTypePtr -RewriteRuleSubtreeStream<ImplTraits>::dupTree(TreeTypePtr element) -{ - return BaseType::m_adaptor->dupNode(element); -} - -template<class ImplTraits, class ElementType> -ElementType* -RewriteRuleElementStream<ImplTraits, ElementType>::toTree( ElementType* element) -{ - return element; -} - -/* -template<class ImplTraits> -typename RewriteRuleNodeStream<ImplTraits>::TreeTypePtr -RewriteRuleNodeStream<ImplTraits>::toTree(TreeTypePtr element) -{ - return this->toTreeNode(element); -} - -template<class ImplTraits> -typename RewriteRuleNodeStream<ImplTraits>::TreeTypePtr -RewriteRuleNodeStream<ImplTraits>::toTreeNode(TreeTypePtr element) -{ - return BaseType::m_adaptor->dupNode(element); -} -*/ - -template<class ImplTraits, class ElementType> -bool RewriteRuleElementStream<ImplTraits, ElementType>::hasNext() -{ - if ( !m_elements.empty() && m_cursor < m_elements.size()) - { - return true; - } - else - { - return false; - } -} - -template<class ImplTraits > -typename RewriteRuleTokenStream<ImplTraits>::TreeTypePtr -RewriteRuleTokenStream<ImplTraits>::nextNode() -{ - TokenType *Token = this->nextToken(); - //return BaseType::m_adaptor->create(Token); - return m_adaptor->create(Token); -} - -/* -template<class ImplTraits> -typename RewriteRuleTokenStream<ImplTraits>::TreeTypePtr -RewriteRuleTokenStream<ImplTraits>::nextNodeToken() -{ - return BaseType::m_adaptor->create(this->_next()); -} -*/ - -/// Number of elements available in the stream -/// -template<class ImplTraits, class ElementType> -ANTLR_UINT32 RewriteRuleElementStream<ImplTraits, ElementType>::size() -{ - return (ANTLR_UINT32)(m_elements.size()); -} - -template<class ImplTraits, class ElementType> -typename RewriteRuleElementStream<ImplTraits, ElementType>::StringType -RewriteRuleElementStream<ImplTraits, ElementType>::getDescription() -{ - if ( m_elementDescription.empty() ) - { - m_elementDescription = "<unknown source>"; - } - return m_elementDescription; -} - -template<class ImplTraits, class ElementType> -RewriteRuleElementStream<ImplTraits, ElementType>::~RewriteRuleElementStream() -{ - // Before placing the stream back in the pool, we - // need to clear any vector it has. This is so any - // free pointers that are associated with the - // entries are called. However, if this particular function is called - // then we know that the entries in the stream are definitely - // tree nodes. Hence we check to see if any of them were nilNodes as - // if they were, we can reuse them. - // - // We have some elements to traverse - // - for (ANTLR_UINT32 i = 0; i < m_elements.size(); i++) - { - ElementType *tree = m_elements.at(i); - //if ( (tree != NULL) && tree->isNilNode() ) - { - // Had to remove this for now, check is not comprehensive enough - // tree->reuse(tree); - } - } - m_elements.clear(); -} - -template<class ImplTraits> -typename RewriteRuleTokenStream<ImplTraits>::TokenType* -RewriteRuleTokenStream<ImplTraits>::nextToken() -{ - return this->_next(); -} - -template<class ImplTraits> -typename RewriteRuleSubtreeStream<ImplTraits>::TreeTypePtr -RewriteRuleSubtreeStream<ImplTraits>::nextNode(TreeTypePtr element) -{ - //System.out.println("nextNode: elements="+elements+", singleElement="+((Tree)singleElement).toStringTree()); - ANTLR_UINT32 n = this->size(); - if ( BaseType::m_dirty || (BaseType::m_cursor>=n && n==1) ) { - // if out of elements and size is 1, dup (at most a single node - // since this is for making root nodes). - TreeTypePtr el = this->_next(); - return BaseType::m_adaptor->dupNode(el); - } - // test size above then fetch - TreeType *tree = this->_next(); - while (BaseType::m_adaptor.isNil(tree) && BaseType::m_adaptor.getChildCount(tree) == 1) - tree = BaseType::m_adaptor->getChild(tree, 0); - //System.out.println("_next="+((Tree)tree).toStringTree()); - TreeType *el = BaseType::m_adaptor->dupNode(tree); // dup just the root (want node here) - return el; -} - -} |