summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregor Hartmann <gh@openoffice.org>2001-12-05 10:12:31 +0000
committerGregor Hartmann <gh@openoffice.org>2001-12-05 10:12:31 +0000
commit1afd460373ee68d73b4e11ed2d98a35ab7851b17 (patch)
tree44d15efad2042c1e8febd53fbb2d5f8949631426
parent07e11442e855d28b6b6d813983717ec4f39a56b7 (diff)
new handling of meta tags
-rw-r--r--transex3/inc/tagtest.hxx13
-rw-r--r--transex3/source/gsicheck.cxx6
-rw-r--r--transex3/source/tagtest.cxx22
3 files changed, 29 insertions, 12 deletions
diff --git a/transex3/inc/tagtest.hxx b/transex3/inc/tagtest.hxx
index a46562fb2d5e..4b64931ccb21 100644
--- a/transex3/inc/tagtest.hxx
+++ b/transex3/inc/tagtest.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: tagtest.hxx,v $
*
- * $Revision: 1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: nf $ $Date: 2001-06-26 12:56:08 $
+ * last change: $Author: gh $ $Date: 2001-12-05 11:12:30 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -100,6 +100,8 @@ typedef USHORT Token;
#define TAG_KEY ( TAG_GROUP_STRUCTURE << TAG_GROUPSHIFT | 0x040 )
#define TAG_INDEX ( TAG_GROUP_STRUCTURE << TAG_GROUPSHIFT | 0x080 )
+#define TAG_REFSTART ( TAG_GROUP_STRUCTURE << TAG_GROUPSHIFT | 0x100 )
+
#define TAG_GROUP_SYSSWITCH 0x4
#define TAG_WIN ( TAG_GROUP_SYSSWITCH << TAG_GROUPSHIFT | 0x001 )
#define TAG_UNIX ( TAG_GROUP_SYSSWITCH << TAG_GROUPSHIFT | 0x002 )
@@ -130,7 +132,11 @@ typedef USHORT Token;
#define TAG_PORTALSHORTNAME ( TAG_GROUP_META << TAG_GROUPSHIFT | 0x100 )
-#define TAG_GROUP_MULTI 0x7
+#define TAG_GROUP_SINGLE 0x7
+#define TAG_REFINSERT ( TAG_GROUP_SINGLE << TAG_GROUPSHIFT | 0x001 )
+
+
+#define TAG_GROUP_MULTI 0x8
#define TAG_END ( TAG_GROUP_MULTI << TAG_GROUPSHIFT | 0x100 )
#define TAG_ELSE ( TAG_GROUP_MULTI << TAG_GROUPSHIFT | 0x200 )
#define TAG_AEND ( TAG_GROUP_MULTI << TAG_GROUPSHIFT | 0x400 )
@@ -199,6 +205,7 @@ private:
USHORT nPos;
ByteString aSource;
ByteString aLastToken;
+ static ByteString aLastUnknownToken;
TokenList aTokenList;
ByteString GetNextTokenString();
diff --git a/transex3/source/gsicheck.cxx b/transex3/source/gsicheck.cxx
index a99de6b2a122..92cf240ad765 100644
--- a/transex3/source/gsicheck.cxx
+++ b/transex3/source/gsicheck.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: gsicheck.cxx,v $
*
- * $Revision: 1.4 $
+ * $Revision: 1.5 $
*
- * last change: $Author: gh $ $Date: 2001-11-28 13:03:52 $
+ * last change: $Author: gh $ $Date: 2001-12-05 11:12:31 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -304,7 +304,7 @@ void Help()
/*****************************************************************************/
{
fprintf( stdout, "\n" );
- fprintf( stdout, "gsicheck Version 1.5.0 (c)1999 - 2001 by SUN Microsystems\n" );
+ fprintf( stdout, "gsicheck Version 1.5.1 (c)1999 - 2001 by SUN Microsystems\n" );
fprintf( stdout, "================================================\n" );
fprintf( stdout, "\n" );
fprintf( stdout, "gsicheck checks the syntax of tags in GSI-Files (Gutschmitt-Interface)\n" );
diff --git a/transex3/source/tagtest.cxx b/transex3/source/tagtest.cxx
index 686cb934cc8b..608cb1a78e3a 100644
--- a/transex3/source/tagtest.cxx
+++ b/transex3/source/tagtest.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: tagtest.cxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: gh $ $Date: 2001-11-28 13:03:52 $
+ * last change: $Author: gh $ $Date: 2001-12-05 11:12:31 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -739,38 +739,48 @@ void LingTest::CheckTags( TokenList aReference, TokenList aTestee, ParserMessage
*/
// filter uninteresting Tags
+ Token aMetaTokens = 0;
i=0;
while ( i < aReference.Count() )
{
Token aToken = aReference.GetObject( i );
Token aTokenGroup = TAG_GROUP( aToken );
if ( TAG_GROUP_PROGSWITCH == aTokenGroup
- || TAG_GROUP_META == aTokenGroup
|| TAG_REFINSERT == aToken
|| TAG_REFSTART == aToken
|| TAG_NAME == aToken
|| TAG_HREF == aToken
|| TAG_AVIS == aToken
- || TAG_AHID == aToken )
+ || TAG_AHID == aToken
+ || ( TAG_GROUP_META == aTokenGroup && (aMetaTokens & aToken) == aToken ) )
+ {
i++;
+ if ( TAG_GROUP_META == aTokenGroup )
+ aMetaTokens |= aToken;
+ }
else
aReference.Remove( i );
}
+ aMetaTokens = 0;
i=0;
while ( i < aTestee.Count() )
{
Token aToken = aTestee.GetObject( i );
Token aTokenGroup = TAG_GROUP( aToken );
if ( TAG_GROUP_PROGSWITCH == aTokenGroup
- || TAG_GROUP_META == aTokenGroup
|| TAG_REFINSERT == aToken
|| TAG_REFSTART == aToken
|| TAG_NAME == aToken
|| TAG_HREF == aToken
|| TAG_AVIS == aToken
- || TAG_AHID == aToken )
+ || TAG_AHID == aToken
+ || ( TAG_GROUP_META == aTokenGroup && (aMetaTokens & aToken) == aToken ) )
+ {
i++;
+ if ( TAG_GROUP_META == aTokenGroup )
+ aMetaTokens |= aToken;
+ }
else
aTestee.Remove( i );
}