[antlr] 44/87: * Convert changes to Charscanner.hpp to a patch file. * Fixed cantlr package to depend on libantlr-java-gcj rather than nonexistent antlr-gcj (finishing migration started in 2.7.7-8). (Closes: #504050)
Emmanuel Bourg
ebourg-guest at moszumanska.debian.org
Tue Oct 24 14:49:20 UTC 2017
This is an automated email from the git hooks/post-receive script.
ebourg-guest pushed a commit to branch master
in repository antlr.
commit fa84a126578fcc0dd5b57bfe001370fa9463182b
Author: Torsten Werner <twerner at debian.org>
Date: Thu Jan 15 19:44:44 2009 +0000
* Convert changes to Charscanner.hpp to a patch file.
* Fixed cantlr package to depend on libantlr-java-gcj rather than
nonexistent antlr-gcj (finishing migration started in 2.7.7-8).
(Closes: #504050)
---
debian/changelog | 8 +-
debian/control | 4 +-
debian/patches/gcc.diff | 10 +
debian/patches/series | 1 +
debian/rules | 13 +-
lib/cpp/antlr/CharScanner.hpp | 575 ------------------------------------------
6 files changed, 31 insertions(+), 580 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 6a7e557..008c59a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,13 +2,19 @@ antlr (2.7.7-10) unstable; urgency=low
[ Torsten Werner ]
* Add myself to Uploaders.
+ * Convert changes to Charscanner.hpp to a patch file.
[ Jan Dittberner ]
* Fix watch file. (Closes: #511862)
* Create a separate package python-antlr. (Closes: #511306)
* Add missing build-dependency java-gcj-compat-dev. (Closes: #511849)
- -- Torsten Werner <twerner at debian.org> Thu, 15 Jan 2009 20:23:50 +0100
+ [ Asheesh Laroia ]
+ * Fixed cantlr package to depend on libantlr-java-gcj rather than
+ nonexistent antlr-gcj (finishing migration started in 2.7.7-8).
+ (Closes: #504050)
+
+ -- Torsten Werner <twerner at debian.org> Thu, 15 Jan 2009 20:37:44 +0100
antlr (2.7.7-9) unstable; urgency=low
diff --git a/debian/control b/debian/control
index a7f7368..ff8c1c6 100644
--- a/debian/control
+++ b/debian/control
@@ -3,7 +3,7 @@ Section: devel
Priority: optional
Maintainer: Debian Java Maintainers <pkg-java-maintainers at lists.alioth.debian.org>
Uploaders: Arnaud Vandyck <avdyk at debian.org>, John Leuner <jewel at debian.org>, Michael Koch <konqueror at gmx.de>, Barry Hawkins <barry at bytemason.org>, Torsten Werner <twerner at debian.org>
-Build-Depends: debhelper (>= 4), default-jdk-builddep, python, autotools-dev, python-all-dev (>= 2.3.5-11), sharutils, java-gcj-compat-dev
+Build-Depends: debhelper (>= 4), default-jdk-builddep, python, autotools-dev, python-all-dev (>= 2.3.5-11), sharutils, java-gcj-compat-dev, quilt
Build-Depends-Indep: python-support (>= 0.3), nant, cli-common-dev (>= 0.4.4), mono-mcs (>= 1.0) | c-sharp-compiler
Standards-Version: 3.7.3
Vcs-Svn: svn://svn.debian.org/svn/pkg-java/trunk/antlr
@@ -80,7 +80,7 @@ Description: language tool for constructing recognizers, compilers etc
Package: cantlr
Section: devel
Architecture: any
-Depends: gij, antlr-gcj, ${shlibs:Depends}
+Depends: gij, libantlr-java-gcj, ${shlibs:Depends}
Description: language tool for constructing recognizers, compilers etc
This is the native-compiled version of antlr. ANTLR stands for ANother
Tool for Language Recognition, (formerly PCCTS). It is a language tool
diff --git a/debian/patches/gcc.diff b/debian/patches/gcc.diff
new file mode 100644
index 0000000..f56a6d9
--- /dev/null
+++ b/debian/patches/gcc.diff
@@ -0,0 +1,10 @@
+--- antlr-2.7.7/lib/cpp/antlr/CharScanner.hpp 2006-11-01 22:37:17.000000000 +0100
++++ antlr-2.7.7-new/lib/cpp/antlr/CharScanner.hpp 2009-01-15 20:12:28.000000000 +0100
+@@ -17,6 +17,7 @@
+ #else
+ #include <cctype>
+ #endif
++#include <cstring>
+
+ #if ( _MSC_VER == 1200 )
+ // VC6 seems to need this
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..ae65b50
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+gcc.diff
diff --git a/debian/rules b/debian/rules
index cd49db7..4c06d12 100755
--- a/debian/rules
+++ b/debian/rules
@@ -11,7 +11,16 @@ ifneq (,$(filter $(DEB_HOST_ARCH), $(gcj_native_archs)))
with_native := yes
endif
-configure: configure-stamp
+patch: debian/stamp-patch
+debian/stamp-patch:
+ quilt push -a || test $$? = 2
+ touch $@
+
+unpatch:
+ quilt pop -a -R || test $$? = 2
+ rm -rf $(CURDIR)/.pc debian/stamp-patch
+
+configure: patch configure-stamp
configure-stamp:
dh_testdir
cp /usr/share/misc/config.* scripts
@@ -39,7 +48,7 @@ build-stamp:
$(MAKE) -C lib/cpp
touch build-stamp
-clean:
+clean: unpatch
dh_testdir
dh_testroot
-rm -f build-stamp build-stamp-indep configure-stamp
diff --git a/lib/cpp/antlr/CharScanner.hpp b/lib/cpp/antlr/CharScanner.hpp
deleted file mode 100644
index 587450d..0000000
--- a/lib/cpp/antlr/CharScanner.hpp
+++ /dev/null
@@ -1,575 +0,0 @@
-#ifndef INC_CharScanner_hpp__
-#define INC_CharScanner_hpp__
-
-/* ANTLR Translator Generator
- * Project led by Terence Parr at http://www.jGuru.com
- * Software rights: http://www.antlr.org/license.html
- *
- * $Id: //depot/code/org.antlr/release/antlr-2.7.7/lib/cpp/antlr/CharScanner.hpp#2 $
- */
-
-#include <antlr/config.hpp>
-
-#include <map>
-
-#ifdef HAS_NOT_CCTYPE_H
-#include <ctype.h>
-#else
-#include <cctype>
-#endif
-#include <cstring>
-
-#if ( _MSC_VER == 1200 )
-// VC6 seems to need this
-// note that this is not a standard C++ include file.
-# include <stdio.h>
-#endif
-
-#include <antlr/TokenStream.hpp>
-#include <antlr/RecognitionException.hpp>
-#include <antlr/SemanticException.hpp>
-#include <antlr/MismatchedCharException.hpp>
-#include <antlr/InputBuffer.hpp>
-#include <antlr/BitSet.hpp>
-#include <antlr/LexerSharedInputState.hpp>
-
-#ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
-namespace antlr {
-#endif
-
-class ANTLR_API CharScanner;
-
-ANTLR_C_USING(tolower)
-
-#ifdef ANTLR_REALLY_NO_STRCASECMP
-// Apparently, neither strcasecmp nor stricmp is standard, and Codewarrior
-// on the mac has neither...
-inline int strcasecmp(const char *s1, const char *s2)
-{
- while (true)
- {
- char c1 = tolower(*s1++),
- c2 = tolower(*s2++);
- if (c1 < c2) return -1;
- if (c1 > c2) return 1;
- if (c1 == 0) return 0;
- }
-}
-#else
-#ifdef NO_STRCASECMP
-ANTLR_C_USING(stricmp)
-#else
-ANTLR_C_USING(strcasecmp)
-#endif
-#endif
-
-/** Functor for the literals map
- */
-class ANTLR_API CharScannerLiteralsLess : public ANTLR_USE_NAMESPACE(std)binary_function<ANTLR_USE_NAMESPACE(std)string,ANTLR_USE_NAMESPACE(std)string,bool> {
-private:
- const CharScanner* scanner;
-public:
-#ifdef NO_TEMPLATE_PARTS
- CharScannerLiteralsLess() {} // not really used, definition to appease MSVC
-#endif
- CharScannerLiteralsLess(const CharScanner* theScanner)
- : scanner(theScanner)
- {
- }
- bool operator() (const ANTLR_USE_NAMESPACE(std)string& x,const ANTLR_USE_NAMESPACE(std)string& y) const;
-// defaults are good enough..
- // CharScannerLiteralsLess(const CharScannerLiteralsLess&);
- // CharScannerLiteralsLess& operator=(const CharScannerLiteralsLess&);
-};
-
-/** Superclass of generated lexers
- */
-class ANTLR_API CharScanner : public TokenStream {
-protected:
- typedef RefToken (*factory_type)();
-public:
- CharScanner(InputBuffer& cb, bool case_sensitive );
- CharScanner(InputBuffer* cb, bool case_sensitive );
- CharScanner(const LexerSharedInputState& state, bool case_sensitive );
-
- virtual ~CharScanner()
- {
- }
-
- virtual int LA(unsigned int i);
-
- virtual void append(char c)
- {
- if (saveConsumedInput)
- {
- size_t l = text.length();
-
- if ((l%256) == 0)
- text.reserve(l+256);
-
- text.replace(l,0,&c,1);
- }
- }
-
- virtual void append(const ANTLR_USE_NAMESPACE(std)string& s)
- {
- if( saveConsumedInput )
- text += s;
- }
-
- virtual void commit()
- {
- inputState->getInput().commit();
- }
-
- /** called by the generated lexer to do error recovery, override to
- * customize the behaviour.
- */
- virtual void recover(const RecognitionException& ex, const BitSet& tokenSet)
- {
- consume();
- consumeUntil(tokenSet);
- }
-
- virtual void consume()
- {
- if (inputState->guessing == 0)
- {
- int c = LA(1);
- if (caseSensitive)
- {
- append(c);
- }
- else
- {
- // use input.LA(), not LA(), to get original case
- // CharScanner.LA() would toLower it.
- append(inputState->getInput().LA(1));
- }
-
- // RK: in a sense I don't like this automatic handling.
- if (c == '\t')
- tab();
- else
- inputState->column++;
- }
- inputState->getInput().consume();
- }
-
- /** Consume chars until one matches the given char */
- virtual void consumeUntil(int c)
- {
- for(;;)
- {
- int la_1 = LA(1);
- if( la_1 == EOF_CHAR || la_1 == c )
- break;
- consume();
- }
- }
-
- /** Consume chars until one matches the given set */
- virtual void consumeUntil(const BitSet& set)
- {
- for(;;)
- {
- int la_1 = LA(1);
- if( la_1 == EOF_CHAR || set.member(la_1) )
- break;
- consume();
- }
- }
-
- /// Mark the current position and return a id for it
- virtual unsigned int mark()
- {
- return inputState->getInput().mark();
- }
- /// Rewind the scanner to a previously marked position
- virtual void rewind(unsigned int pos)
- {
- inputState->getInput().rewind(pos);
- }
-
- /// See if input contains character 'c' throw MismatchedCharException if not
- virtual void match(int c)
- {
- int la_1 = LA(1);
- if ( la_1 != c )
- throw MismatchedCharException(la_1, c, false, this);
- consume();
- }
-
- /** See if input contains element from bitset b
- * throw MismatchedCharException if not
- */
- virtual void match(const BitSet& b)
- {
- int la_1 = LA(1);
-
- if ( !b.member(la_1) )
- throw MismatchedCharException( la_1, b, false, this );
- consume();
- }
-
- /** See if input contains string 's' throw MismatchedCharException if not
- * @note the string cannot match EOF
- */
- virtual void match( const char* s )
- {
- while( *s != '\0' )
- {
- // the & 0xFF is here to prevent sign extension lateron
- int la_1 = LA(1), c = (*s++ & 0xFF);
-
- if ( la_1 != c )
- throw MismatchedCharException(la_1, c, false, this);
-
- consume();
- }
- }
- /** See if input contains string 's' throw MismatchedCharException if not
- * @note the string cannot match EOF
- */
- virtual void match(const ANTLR_USE_NAMESPACE(std)string& s)
- {
- size_t len = s.length();
-
- for (size_t i = 0; i < len; i++)
- {
- // the & 0xFF is here to prevent sign extension lateron
- int la_1 = LA(1), c = (s[i] & 0xFF);
-
- if ( la_1 != c )
- throw MismatchedCharException(la_1, c, false, this);
-
- consume();
- }
- }
- /** See if input does not contain character 'c'
- * throw MismatchedCharException if not
- */
- virtual void matchNot(int c)
- {
- int la_1 = LA(1);
-
- if ( la_1 == c )
- throw MismatchedCharException(la_1, c, true, this);
-
- consume();
- }
- /** See if input contains character in range c1-c2
- * throw MismatchedCharException if not
- */
- virtual void matchRange(int c1, int c2)
- {
- int la_1 = LA(1);
-
- if ( la_1 < c1 || la_1 > c2 )
- throw MismatchedCharException(la_1, c1, c2, false, this);
-
- consume();
- }
-
- virtual bool getCaseSensitive() const
- {
- return caseSensitive;
- }
-
- virtual void setCaseSensitive(bool t)
- {
- caseSensitive = t;
- }
-
- virtual bool getCaseSensitiveLiterals() const=0;
-
- /// Get the line the scanner currently is in (starts at 1)
- virtual int getLine() const
- {
- return inputState->line;
- }
-
- /// set the line number
- virtual void setLine(int l)
- {
- inputState->line = l;
- }
-
- /// Get the column the scanner currently is in (starts at 1)
- virtual int getColumn() const
- {
- return inputState->column;
- }
- /// set the column number
- virtual void setColumn(int c)
- {
- inputState->column = c;
- }
-
- /// get the filename for the file currently used
- virtual const ANTLR_USE_NAMESPACE(std)string& getFilename() const
- {
- return inputState->filename;
- }
- /// Set the filename the scanner is using (used in error messages)
- virtual void setFilename(const ANTLR_USE_NAMESPACE(std)string& f)
- {
- inputState->filename = f;
- }
-
- virtual bool getCommitToPath() const
- {
- return commitToPath;
- }
-
- virtual void setCommitToPath(bool commit)
- {
- commitToPath = commit;
- }
-
- /** return a copy of the current text buffer */
- virtual const ANTLR_USE_NAMESPACE(std)string& getText() const
- {
- return text;
- }
-
- virtual void setText(const ANTLR_USE_NAMESPACE(std)string& s)
- {
- text = s;
- }
-
- virtual void resetText()
- {
- text = "";
- inputState->tokenStartColumn = inputState->column;
- inputState->tokenStartLine = inputState->line;
- }
-
- virtual RefToken getTokenObject() const
- {
- return _returnToken;
- }
-
- /** Used to keep track of line breaks, needs to be called from
- * within generated lexers when a \n \r is encountered.
- */
- virtual void newline()
- {
- ++inputState->line;
- inputState->column = 1;
- }
-
- /** Advance the current column number by an appropriate amount according
- * to the tabsize. This method needs to be explicitly called from the
- * lexer rules encountering tabs.
- */
- virtual void tab()
- {
- int c = getColumn();
- int nc = ( ((c-1)/tabsize) + 1) * tabsize + 1; // calculate tab stop
- setColumn( nc );
- }
- /// set the tabsize. Returns the old tabsize
- int setTabsize( int size )
- {
- int oldsize = tabsize;
- tabsize = size;
- return oldsize;
- }
- /// Return the tabsize used by the scanner
- int getTabSize() const
- {
- return tabsize;
- }
-
- /** Report exception errors caught in nextToken() */
- virtual void reportError(const RecognitionException& e);
-
- /** Parser error-reporting function can be overridden in subclass */
- virtual void reportError(const ANTLR_USE_NAMESPACE(std)string& s);
-
- /** Parser warning-reporting function can be overridden in subclass */
- virtual void reportWarning(const ANTLR_USE_NAMESPACE(std)string& s);
-
- virtual InputBuffer& getInputBuffer()
- {
- return inputState->getInput();
- }
-
- virtual LexerSharedInputState getInputState()
- {
- return inputState;
- }
-
- /** set the input state for the lexer.
- * @note state is a reference counted object, hence no reference */
- virtual void setInputState(LexerSharedInputState state)
- {
- inputState = state;
- }
-
- /// Set the factory for created tokens
- virtual void setTokenObjectFactory(factory_type factory)
- {
- tokenFactory = factory;
- }
-
- /** Test the token text against the literals table
- * Override this method to perform a different literals test
- */
- virtual int testLiteralsTable(int ttype) const
- {
- ANTLR_USE_NAMESPACE(std)map<ANTLR_USE_NAMESPACE(std)string,int,CharScannerLiteralsLess>::const_iterator i = literals.find(text);
- if (i != literals.end())
- ttype = (*i).second;
- return ttype;
- }
-
- /** Test the text passed in against the literals table
- * Override this method to perform a different literals test
- * This is used primarily when you want to test a portion of
- * a token
- */
- virtual int testLiteralsTable(const ANTLR_USE_NAMESPACE(std)string& txt,int ttype) const
- {
- ANTLR_USE_NAMESPACE(std)map<ANTLR_USE_NAMESPACE(std)string,int,CharScannerLiteralsLess>::const_iterator i = literals.find(txt);
- if (i != literals.end())
- ttype = (*i).second;
- return ttype;
- }
-
- /// Override this method to get more specific case handling
- virtual int toLower(int c) const
- {
- // test on EOF_CHAR for buggy (?) STLPort tolower (or HPUX tolower?)
- // also VC++ 6.0 does this. (see fix 422 (is reverted by this fix)
- // this one is more structural. Maybe make this configurable.
- return (c == EOF_CHAR ? EOF_CHAR : tolower(c));
- }
-
- /** This method is called by YourLexer::nextToken() when the lexer has
- * hit EOF condition. EOF is NOT a character.
- * This method is not called if EOF is reached during
- * syntactic predicate evaluation or during evaluation
- * of normal lexical rules, which presumably would be
- * an IOException. This traps the "normal" EOF condition.
- *
- * uponEOF() is called after the complete evaluation of
- * the previous token and only if your parser asks
- * for another token beyond that last non-EOF token.
- *
- * You might want to throw token or char stream exceptions
- * like: "Heh, premature eof" or a retry stream exception
- * ("I found the end of this file, go back to referencing file").
- */
- virtual void uponEOF()
- {
- }
-
- /// Methods used to change tracing behavior
- virtual void traceIndent();
- virtual void traceIn(const char* rname);
- virtual void traceOut(const char* rname);
-
-#ifndef NO_STATIC_CONSTS
- static const int EOF_CHAR = EOF;
-#else
- enum {
- EOF_CHAR = EOF
- };
-#endif
-protected:
- ANTLR_USE_NAMESPACE(std)string text; ///< Text of current token
- /// flag indicating wether consume saves characters
- bool saveConsumedInput;
- factory_type tokenFactory; ///< Factory for tokens
- bool caseSensitive; ///< Is this lexer case sensitive
- ANTLR_USE_NAMESPACE(std)map<ANTLR_USE_NAMESPACE(std)string,int,CharScannerLiteralsLess> literals; // set by subclass
-
- RefToken _returnToken; ///< used to return tokens w/o using return val
-
- /// Input state, gives access to input stream, shared among different lexers
- LexerSharedInputState inputState;
-
- /** Used during filter mode to indicate that path is desired.
- * A subsequent scan error will report an error as usual
- * if acceptPath=true;
- */
- bool commitToPath;
-
- int tabsize; ///< tab size the scanner uses.
-
- /// Create a new RefToken of type t
- virtual RefToken makeToken(int t)
- {
- RefToken tok = tokenFactory();
- tok->setType(t);
- tok->setColumn(inputState->tokenStartColumn);
- tok->setLine(inputState->tokenStartLine);
- return tok;
- }
-
- /** Tracer class, used when -traceLexer is passed to antlr
- */
- class Tracer {
- private:
- CharScanner* parser;
- const char* text;
-
- Tracer(const Tracer& other); // undefined
- Tracer& operator=(const Tracer& other); // undefined
- public:
- Tracer( CharScanner* p,const char* t )
- : parser(p), text(t)
- {
- parser->traceIn(text);
- }
- ~Tracer()
- {
- parser->traceOut(text);
- }
- };
-
- int traceDepth;
-private:
- CharScanner( const CharScanner& other ); // undefined
- CharScanner& operator=( const CharScanner& other ); // undefined
-
-#ifndef NO_STATIC_CONSTS
- static const int NO_CHAR = 0;
-#else
- enum {
- NO_CHAR = 0
- };
-#endif
-};
-
-inline int CharScanner::LA(unsigned int i)
-{
- int c = inputState->getInput().LA(i);
-
- if ( caseSensitive )
- return c;
- else
- return toLower(c); // VC 6 tolower bug caught in toLower.
-}
-
-inline bool CharScannerLiteralsLess::operator() (const ANTLR_USE_NAMESPACE(std)string& x,const ANTLR_USE_NAMESPACE(std)string& y) const
-{
- if (scanner->getCaseSensitiveLiterals())
- return ANTLR_USE_NAMESPACE(std)less<ANTLR_USE_NAMESPACE(std)string>()(x,y);
- else
- {
-#ifdef NO_STRCASECMP
- return (stricmp(x.c_str(),y.c_str())<0);
-#else
- return (strcasecmp(x.c_str(),y.c_str())<0);
-#endif
- }
-}
-
-#ifdef ANTLR_CXX_SUPPORTS_NAMESPACE
-}
-#endif
-
-#endif //INC_CharScanner_hpp__
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/antlr.git
More information about the pkg-java-commits
mailing list