[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/geas/src/classdef classdef.c classdef.h pa...
From: |
Reinhard Mueller |
Subject: |
gnue/geas/src/classdef classdef.c classdef.h pa... |
Date: |
Thu, 01 Nov 2001 13:14:25 -0500 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Changes by: Reinhard Mueller <address@hidden> 01/11/01 13:14:25
Modified files:
geas/src/classdef: classdef.c classdef.h parse.y scan.l
Log message:
Removed PUBLIC and PRIVATE keywords. They are of no use.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/src/classdef/classdef.c.diff?tr1=1.22&tr2=1.23&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/src/classdef/classdef.h.diff?tr1=1.18&tr2=1.19&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/src/classdef/parse.y.diff?tr1=1.19&tr2=1.20&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/src/classdef/scan.l.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
Patches:
Index: gnue/geas/src/classdef/classdef.c
diff -u gnue/geas/src/classdef/classdef.c:1.22
gnue/geas/src/classdef/classdef.c:1.23
--- gnue/geas/src/classdef/classdef.c:1.22 Mon Oct 29 14:39:06 2001
+++ gnue/geas/src/classdef/classdef.c Thu Nov 1 13:14:25 2001
@@ -19,7 +19,7 @@
along with GEAS; if not, write to the Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- $Id: classdef.c,v 1.22 2001/10/29 19:39:06 reinhard Exp $
+ $Id: classdef.c,v 1.23 2001/11/01 18:14:25 reinhard Exp $
*/
#include "config.h"
@@ -34,10 +34,9 @@
struct _geas_cd_module
{
- char *name;
- geas_cd_access access;
- GHashTable *classes;
- GHashTable *types;
+ char *name;
+ GHashTable *classes;
+ GHashTable *types;
};
struct _geas_cd_classlist
@@ -48,13 +47,12 @@
struct _geas_cd_class
{
- GHashTable *parent; /* hash table containing this class */
- char *name; /* without module */
- char *name_full; /* with module */
- char *name_db; /* table name for database */
- geas_cd_access access;
- char *filename;
- GList *fields;
+ GHashTable *parent; /* hash table containing this class */
+ char *name; /* without module */
+ char *name_full; /* with module */
+ char *name_db; /* table name for database */
+ char *filename;
+ GList *fields;
};
struct _geas_cd_type
@@ -62,7 +60,6 @@
GHashTable *parent; /* hash table containing this type */
char *name; /* without module */
char *name_full; /* with module */
- geas_cd_access access;
char *filename;
geas_cd_datatype datatype;
int format; /* only for char types */
@@ -138,30 +135,28 @@
_modules = g_hash_table_new (g_str_hash, g_str_equal);
/* define builtin types */
- builtin = geas_cd_module_new ("builtin", GEAS_CD_ACCESS_PUBLIC);
+ builtin = geas_cd_module_new ("builtin");
-#define NEWTYPE(n,t) geas_cd_module_type_new(builtin,n,GEAS_CD_ACCESS_PUBLIC,t)
- NEWTYPE ("void", GEAS_CD_DATATYPE_UNKNOWN);
- NEWTYPE ("char", GEAS_CD_DATATYPE_CHAR);
- NEWTYPE ("text", GEAS_CD_DATATYPE_TEXT);
- NEWTYPE ("int16", GEAS_CD_DATATYPE_INT16);
- NEWTYPE ("int32", GEAS_CD_DATATYPE_INT32);
- NEWTYPE ("int64", GEAS_CD_DATATYPE_INT64);
- NEWTYPE ("float", GEAS_CD_DATATYPE_FLOAT);
- NEWTYPE ("bool", GEAS_CD_DATATYPE_BOOL);
- NEWTYPE ("date", GEAS_CD_DATATYPE_DATE);
- NEWTYPE ("time", GEAS_CD_DATATYPE_TIME);
- NEWTYPE ("datetime", GEAS_CD_DATATYPE_DATETIME);
+ geas_cd_module_type_new (builtin, "void", GEAS_CD_DATATYPE_UNKNOWN);
+ geas_cd_module_type_new (builtin, "char", GEAS_CD_DATATYPE_CHAR);
+ geas_cd_module_type_new (builtin, "text", GEAS_CD_DATATYPE_TEXT);
+ geas_cd_module_type_new (builtin, "int16", GEAS_CD_DATATYPE_INT16);
+ geas_cd_module_type_new (builtin, "int32", GEAS_CD_DATATYPE_INT32);
+ geas_cd_module_type_new (builtin, "int64", GEAS_CD_DATATYPE_INT64);
+ geas_cd_module_type_new (builtin, "float", GEAS_CD_DATATYPE_FLOAT);
+ geas_cd_module_type_new (builtin, "bool", GEAS_CD_DATATYPE_BOOL);
+ geas_cd_module_type_new (builtin, "date", GEAS_CD_DATATYPE_DATE);
+ geas_cd_module_type_new (builtin, "time", GEAS_CD_DATATYPE_TIME);
+ geas_cd_module_type_new (builtin, "datetime", GEAS_CD_DATATYPE_DATETIME);
/* compatibility aliases */
- NEWTYPE ("int", GEAS_CD_DATATYPE_INT32);
- NEWTYPE ("boolean", GEAS_CD_DATATYPE_BOOL);
-#undef NEWTYPE
+ geas_cd_module_type_new (builtin, "int", GEAS_CD_DATATYPE_INT32);
+ geas_cd_module_type_new (builtin, "boolean", GEAS_CD_DATATYPE_BOOL);
/* create "geas" module for internal fields */
- _geas_module = geas_cd_module_new ("geas", GEAS_CD_ACCESS_PUBLIC);
+ _geas_module = geas_cd_module_new ("geas");
#define NEWTYPE(n,t) \
- geas_cd_module_type_new(_geas_module,n,GEAS_CD_ACCESS_PRIVATE,t)
+ geas_cd_module_type_new(_geas_module,n,t)
_id_type = NEWTYPE ("id", GEAS_CD_DATATYPE_ID);
_username_type = NEWTYPE ("username", GEAS_CD_DATATYPE_CHAR);
_datetime_type = NEWTYPE ("datetime", GEAS_CD_DATATYPE_DATETIME);
@@ -189,7 +184,7 @@
* Allocate a new module, or find if existing
\* ------------------------------------------------------------------------- */
geas_cd_module *
-geas_cd_module_new (const char *name, geas_cd_access access)
+geas_cd_module_new (const char *name)
{
geas_cd_module *m;
@@ -203,8 +198,6 @@
m = g_new0 (geas_cd_module, 1);
m->name = g_strdup (name);
- m->access = (access == GEAS_CD_ACCESS_DEFAULT) ? GEAS_CD_ACCESS_PUBLIC
- : access;
m->classes = g_hash_table_new (g_str_hash, g_str_equal);
m->types = g_hash_table_new (g_str_hash, g_str_equal);
@@ -241,8 +234,7 @@
* Allocate a new class as a member of a module, or find if existing
\* ------------------------------------------------------------------------- */
geas_cd_class *
-geas_cd_module_class_new (geas_cd_module *m, const char *name,
- geas_cd_access access)
+geas_cd_module_class_new (geas_cd_module *m, const char *name)
{
geas_cd_class *c;
@@ -258,7 +250,6 @@
c->name = g_strdup (name);
c->name_full = g_strconcat (m->name, "::", name, NULL);
c->name_db = g_strconcat (m->name, "__", name, NULL);
- c->access = (access == GEAS_CD_ACCESS_DEFAULT) ? m->access : access;
g_hash_table_insert (m->classes, c->name, c);
@@ -290,7 +281,7 @@
\* ------------------------------------------------------------------------- */
geas_cd_type *
geas_cd_module_type_new (geas_cd_module *m, const char *name,
- geas_cd_access access, geas_cd_datatype datatype)
+ geas_cd_datatype datatype)
{
geas_cd_type *t;
@@ -305,7 +296,6 @@
t->parent = m->types;
t->name = g_strdup (name);
t->name_full = g_strconcat (m->name, "::", name, NULL);
- t->access = (access == GEAS_CD_ACCESS_DEFAULT) ? m->access : access;
t->datatype = datatype;
g_hash_table_insert (m->types, t->name, t);
Index: gnue/geas/src/classdef/classdef.h
diff -u gnue/geas/src/classdef/classdef.h:1.18
gnue/geas/src/classdef/classdef.h:1.19
--- gnue/geas/src/classdef/classdef.h:1.18 Sat Oct 20 15:16:43 2001
+++ gnue/geas/src/classdef/classdef.h Thu Nov 1 13:14:25 2001
@@ -19,20 +19,13 @@
along with GEAS; if not, write to the Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- $Id: classdef.h,v 1.18 2001/10/20 19:16:43 reinhard Exp $
+ $Id: classdef.h,v 1.19 2001/11/01 18:14:25 reinhard Exp $
*/
/* ------------------------------------------------------------------------- *\
* Type definitions
\* ------------------------------------------------------------------------- */
-typedef enum _geas_cd_access
-{
- GEAS_CD_ACCESS_DEFAULT,
- GEAS_CD_ACCESS_PRIVATE,
- GEAS_CD_ACCESS_PUBLIC,
-} geas_cd_access;
-
typedef enum _geas_cd_datatype
{
GEAS_CD_DATATYPE_UNKNOWN,
@@ -70,15 +63,13 @@
* Modules
\* ------------------------------------------------------------------------- */
-geas_cd_module *geas_cd_module_new (const char *name, geas_cd_access access);
+geas_cd_module *geas_cd_module_new (const char *name);
geas_cd_module *geas_cd_module_find (const char *name);
const char *geas_cd_module_get_name (const geas_cd_module *m);
-geas_cd_class *geas_cd_module_class_new (geas_cd_module *m, const char *name,
- geas_cd_access access);
+geas_cd_class *geas_cd_module_class_new (geas_cd_module *m, const char *name);
geas_cd_class *geas_cd_module_find_class (const geas_cd_module *m,
const char *name);
geas_cd_type *geas_cd_module_type_new (geas_cd_module *m, const char *name,
- geas_cd_access access,
geas_cd_datatype datatype);
geas_cd_type *geas_cd_module_find_type (const geas_cd_module *m,
const char *name);
Index: gnue/geas/src/classdef/parse.y
diff -u gnue/geas/src/classdef/parse.y:1.19 gnue/geas/src/classdef/parse.y:1.20
--- gnue/geas/src/classdef/parse.y:1.19 Mon Oct 29 16:45:49 2001
+++ gnue/geas/src/classdef/parse.y Thu Nov 1 13:14:25 2001
@@ -19,7 +19,7 @@
along with GEAS; if not, write to the Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- $Id: parse.y,v 1.19 2001/10/29 21:45:49 reinhard Exp $
+ $Id: parse.y,v 1.20 2001/11/01 18:14:25 reinhard Exp $
*/
%{
@@ -63,10 +63,10 @@
/* functions that are called while parsing */
-static gboolean _new_module (const gchar *name, geas_cd_access access);
-static gboolean _new_class (const gchar *name, geas_cd_access access);
+static gboolean _new_module (const gchar *name);
+static gboolean _new_class (const gchar *name);
static void _set_class (geas_cd_class *clss);
-static gboolean _new_type (const gchar *name, geas_cd_access access);
+static gboolean _new_type (const gchar *name);
static geas_cd_module *_find_module (const gchar *name);
static geas_cd_class *_find_class (geas_cd_module *module, const gchar
*name);
@@ -105,7 +105,6 @@
gboolean boolean;
GList *list;
- geas_cd_access access;
geas_cd_module *module;
geas_cd_class *class;
geas_cd_type *type;
@@ -116,7 +115,6 @@
* Terminal symbols
\* ------------------------------------------------------------------------- */
-%token PUBLIC PRIVATE
%token MODULE
%token CLASS EXTEND TYPE
%token NOT NUL READONLY
@@ -133,7 +131,6 @@
\* ------------------------------------------------------------------------- */
%type <list> paropt parents
-%type <access> access
%type <module> moduleref
%type <class> classref
%type <type> typeref
@@ -156,15 +153,10 @@
| module '{' units '}' ';'
;
-access: /* */ { $$ = GEAS_CD_ACCESS_DEFAULT; }
- | PUBLIC { $$ = GEAS_CD_ACCESS_PUBLIC; }
- | PRIVATE { $$ = GEAS_CD_ACCESS_PRIVATE; }
-;
-
-module: access MODULE SYMBOL {
+module: MODULE SYMBOL {
gboolean result;
- result = _new_module ($3, $1);
- g_free ($3);
+ result = _new_module ($2);
+ g_free ($2);
if (!result) YYERROR;
}
;
@@ -183,10 +175,10 @@
| error '}' ';'{ yyerrok; }
;
-class: access CLASS SYMBOL {
+class: CLASS SYMBOL {
gboolean result;
- result = _new_class ($3, $1);
- g_free ($3);
+ result = _new_class ($2);
+ g_free ($2);
if (!result) YYERROR;
}
/* continued */ paropt { /* TODO */ }
@@ -195,10 +187,10 @@
extend: EXTEND classref { _set_class ($2); }
;
-type: access TYPE SYMBOL {
+type: TYPE SYMBOL {
gboolean result;
- result = _new_type ($3, $1);
- g_free ($3);
+ result = _new_type ($2);
+ g_free ($2);
if (!result) YYERROR;
}
/* continued */ paropt { /* TODO */ }
@@ -521,10 +513,10 @@
}
/* ------------------------------------------------------------------------- *\
- * [PUBLIC|PRIVATE] MODULE <name>
+ * MODULE <name>
\* ------------------------------------------------------------------------- */
static gboolean
-_new_module (const gchar *name, geas_cd_access access)
+_new_module (const gchar *name)
{
switch (_current_pass)
{
@@ -534,7 +526,7 @@
{
return (FALSE);
}
- _current_module = geas_cd_module_new (name, access);
+ _current_module = geas_cd_module_new (name);
g_assert (_current_module);
return (TRUE);
break;
@@ -546,10 +538,10 @@
}
/* ------------------------------------------------------------------------- *\
- * [PUBLIC|PRIVATE] CLASS <name>
+ * CLASS <name>
\* ------------------------------------------------------------------------- */
static gboolean
-_new_class (const gchar *name, geas_cd_access access)
+_new_class (const gchar *name)
{
switch (_current_pass)
{
@@ -558,7 +550,7 @@
in memory because a dependency occured. */
_current_is_class = TRUE;
_current_type = NULL;
- _current_class = geas_cd_module_class_new (_current_module, name,
access);
+ _current_class = geas_cd_module_class_new (_current_module, name);
geas_cd_class_set_filename (_current_class, _current_file);
/* Now, this class depends on the current file */
_depend (_current_file, "F",
@@ -584,7 +576,7 @@
_current_class = NULL;
return (FALSE);
}
- _current_class = geas_cd_module_class_new (_current_module, name,
access);
+ _current_class = geas_cd_module_class_new (_current_module, name);
geas_cd_class_set_filename (_current_class, _current_file);
return (TRUE);
@@ -613,10 +605,10 @@
}
/* ------------------------------------------------------------------------- *\
- * [PUBLIC|PRIVATE] TYPE <name>
+ * TYPE <name>
\* ------------------------------------------------------------------------- */
static gboolean
-_new_type (const gchar *name, geas_cd_access access)
+_new_type (const gchar *name)
{
switch (_current_pass)
{
@@ -625,7 +617,7 @@
in memory because a dependency occured. */
_current_is_class = FALSE;
_current_class = NULL;
- _current_type = geas_cd_module_type_new (_current_module, name, access,
+ _current_type = geas_cd_module_type_new (_current_module, name,
GEAS_CD_DATATYPE_UNKNOWN);
geas_cd_type_set_filename (_current_type, _current_file);
/* Now, this type depends on the current file */
@@ -652,7 +644,7 @@
_current_type = NULL;
return (FALSE);
}
- _current_type = geas_cd_module_type_new (_current_module, name, access,
+ _current_type = geas_cd_module_type_new (_current_module, name,
GEAS_CD_DATATYPE_COMPOUND);
geas_cd_type_set_filename (_current_type, _current_file);
return (TRUE);
@@ -676,7 +668,7 @@
case 1:
/* If the module isn't registered, register it. Public/private doesn't
matter in this pass. */
- result = geas_cd_module_new (name, GEAS_CD_ACCESS_PUBLIC);
+ result = geas_cd_module_new (name);
g_assert (result);
break;
@@ -711,7 +703,7 @@
/* If the class is not yet registered, register it now. Public/private
doesn't matter in this pass. */
result = geas_cd_module_class_new (module ? module : _current_module,
- name, GEAS_CD_ACCESS_PUBLIC);
+ name);
g_assert (result);
/* No dependency if the class was defined in the current file */
if (!geas_cd_class_get_filename (result)
@@ -763,8 +755,7 @@
if (!result)
{
result = geas_cd_module_type_new (module ? module : _current_module,
- name, GEAS_CD_ACCESS_PUBLIC,
- GEAS_CD_DATATYPE_UNKNOWN);
+ name, GEAS_CD_DATATYPE_UNKNOWN);
g_assert (result);
/* No dependency if the type was defined in the current file */
if (!geas_cd_type_get_filename (result)
Index: gnue/geas/src/classdef/scan.l
diff -u gnue/geas/src/classdef/scan.l:1.8 gnue/geas/src/classdef/scan.l:1.9
--- gnue/geas/src/classdef/scan.l:1.8 Mon Oct 29 16:45:49 2001
+++ gnue/geas/src/classdef/scan.l Thu Nov 1 13:14:25 2001
@@ -19,7 +19,7 @@
along with GEAS; if not, write to the Free Software Foundation, Inc.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- $Id: scan.l,v 1.8 2001/10/29 21:45:49 reinhard Exp $
+ $Id: scan.l,v 1.9 2001/11/01 18:14:25 reinhard Exp $
*/
%option case-insensitive
@@ -125,9 +125,6 @@
/* ------------------------------------------------------------------------ *\
* Reserved words
\* ------------------------------------------------------------------------ */
-
-public { TTP; return (PUBLIC); }
-private { TTP; return (PRIVATE); }
module { TTP; return (MODULE); }
- gnue/geas/src/classdef classdef.c classdef.h pa...,
Reinhard Mueller <=