Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Per Cederqvist
lyskom-server-ceder-1616-generations-topgit
Commits
b8ba9bbf
Commit
b8ba9bbf
authored
Jun 14, 1998
by
David Byers
Browse files
New membership data type. Multiple bug fixes
parent
6fdcfb3c
Changes
42
Expand all
Hide whitespace changes
Inline
Side-by-side
ChangeLog
View file @
b8ba9bbf
1998-06-10 David Byers <davby@ida.liu.se>
* src/server/membership.c (sub_member): Return KOM_NOT_MEMBER for
secret memberships.
1998-06-08 David Byers <davby@ida.liu.se>
* src/server/membership.c (set_membership_type): New function.
* src/server/prot-a-output.c (prot_a_output_membership): Output
added_at.
(prot_a_output_member): Output added_at
* src/server/membership.c (do_add_member): Set added_at.
(get_members): Filter out added_at.
* src/server/memory.c (init_membership): Init added_at.
* src/server/ram-output.c (foutput_member_2): Added output of
added_at.
* src/server/ram-parse.c (fparse_member_2): Added parsing of added_at.
* src/include/kom-types.h: Added added_at to Membership och Member.
* src/server/ram-parse.c (fparse_membership_2): Added parsning of
added_at.
* src/server/ram-output.c (foutput_membership_2): Added output of
added_at.
Fri Jan 16 22:51:52 1998 David Byers <davby@litefix.ida.liu.se>
* src/include/kom-types.h (Aux_item_flags): Added dont_garb.
* src/server/text-garb.c (garb_text): Check dont_garb aux-item
flag.
Mon Sep 22 19:06:05 1997 David Byers <davby@litefix.ida.liu.se>
* src/server/cache-node.h: New flags: snapshot and synced.
...
...
configure
View file @
b8ba9bbf
#! /bin/sh
# From configure.in Revision: 1.4
1
# From configure.in Revision: 1.4
2
# Guess values for system-dependent variables and create Makefiles.
# Generated automatically using autoconf version 2.12
...
...
db-crypt/db/lyskomd-data
View file @
b8ba9bbf
No preview for this file type
doc/Protocol-A.texi
View file @
b8ba9bbf
This diff is collapsed.
Click to expand it.
doc/man/lyskomd.8
View file @
b8ba9bbf
.\" $Id: lyskomd.8,v 1.2
5
199
7
/0
9
/1
3
1
5:31:34
byers Exp $
.\" $Id: lyskomd.8,v 1.2
6
199
8
/0
6
/1
4
1
4:50:23
byers Exp $
.\" Copyright (C) 1991, 1994 Lysator Academic Computer Association.
.\"
.\" This file is part of the LysKOM server.
...
...
@@ -21,8 +21,8 @@
.\"
.\" Please mail bug reports to bug-lyskom@lysator.liu.se.
.\"
.\" $Id: lyskomd.8,v 1.2
5
199
7
/0
9
/1
3
1
5:31:34
byers Exp $
.\" $Date: 199
7
/0
9
/1
3
1
5:31:34
$
.\" $Id: lyskomd.8,v 1.2
6
199
8
/0
6
/1
4
1
4:50:23
byers Exp $
.\" $Date: 199
8
/0
6
/1
4
1
4:50:23
$
.TH lyskomd 8 "January 12, 1994" "Lysator"
.SH NAME
lyskomd - LysKOM server
...
...
@@ -402,6 +402,23 @@ is not allowed to create any text number
.I T
which meets the condition
.I T \% divident == remainder
.TP
.B Add members by invitation: bool
If this is set, then adding others as members to a conference sets the
invitation bit of the membership. If this is off, the membership bit is
set to whatever the caller specifies. The default is to set this.
.TP
.B Allow secret memberships: bool
If this is set, then memberships may be secret. Otherwise any attempt
to create a secret membership or change an existing membership to a
secret membership will fail. This is set by default.
.TP
.B allow reinvitations: bool
If this is set, then it is possible to set the invitation bit of a
membership even after it has been cleared. If it is not set, then the
invitation bit of a conference type can only be set when the
membership is created. It can be cleared at any time. This is off by
default.
.SH SIGNALS
There are some signals that have a special meaning to the LysKOM
server.
...
...
run-support/aux-items.conf
View file @
b8ba9bbf
#
# $Id: aux-items.conf,v 1.
2
199
7/10/23 12:40:41
byers Exp $
# $Id: aux-items.conf,v 1.
3
199
8/06/14 14:50:24
byers Exp $
# Copyright (C) 1994, 1995, 1996 Lysator Academic Computer Association.
#
# This file is part of the LysKOM server.
...
...
@@ -39,6 +39,7 @@
unique
=
true
;
secret
=
false
;
hide
-
creator
=
false
;
dont
-
garb
=
false
;
inherit
=
false
;
inherit
-
limit
=
1
;
validate
=
"^.*/.*$"
;
...
...
@@ -53,6 +54,7 @@
{
secret
=
false
;
hide
-
creator
=
false
;
dont
-
garb
=
false
;
inherit
=
false
;
inherit
-
limit
=
1
;
}
...
...
@@ -64,6 +66,7 @@
3
:
cross
-
reference
(
text
,
conference
)
{
dont
-
garb
=
false
;
inherit
=
false
;
inherit
-
limit
=
1
;
validate
=
"^[CTP][0-9]+"
;
...
...
@@ -79,6 +82,7 @@
secret
=
false
;
hide
-
creator
=
false
;
author
-
only
=
true
;
dont
-
garb
=
false
;
inherit
=
false
;
inherit
-
limit
=
1
;
}
...
...
@@ -93,6 +97,7 @@
secret
=
false
;
hide
-
creator
=
false
;
author
-
only
=
true
;
dont
-
garb
=
false
;
inherit
=
false
;
inherit
-
limit
=
1
;
}
...
...
@@ -106,6 +111,7 @@
{
secret
=
false
;
unique
=
true
;
dont
-
garb
=
false
;
inherit
=
false
;
inherit
-
limit
=
1
;
}
...
...
@@ -119,6 +125,7 @@
{
secret
=
false
;
hide
-
creator
=
false
;
dont
-
garb
=
false
;
inherit
=
false
;
inherit
-
limit
=
1
;
permanent
=
true
;
...
...
@@ -131,6 +138,7 @@
8
:
redirect
(
conference
)
{
dont
-
garb
=
false
;
supervisor
-
only
=
true
;
validate
=
"^(LysKOM|E-mail):"
;
}
...
...
@@ -145,6 +153,7 @@
secret
=
false
;
hide
-
creator
=
false
;
supervisor
-
only
=
true
;
dont
-
garb
=
false
;
inherit
=
false
;
inherit
-
limit
=
1
;
}
...
...
@@ -156,6 +165,7 @@
10
:
alternate
-
name
(
text
,
conference
)
{
dont
-
garb
=
false
;
inherit
=
false
;
}
...
...
@@ -168,6 +178,7 @@
{
permanent
=
true
;
hide
-
creator
=
false
;
dont
-
garb
=
false
;
inherit
=
false
;
inherit
-
limit
=
1
;
}
...
...
@@ -181,6 +192,7 @@
{
author
-
only
=
true
;
hide
-
creator
=
false
;
dont
-
garb
=
false
;
inherit
=
false
;
inherit
-
limit
=
1
;
}
...
...
@@ -194,6 +206,25 @@
{
author
-
only
=
true
;
hide
-
creator
=
false
;
dont
-
garb
=
false
;
inherit
=
false
;
inherit
-
limit
=
1
;
}
#
# FAQ in Text
#
14
:
faq
-
text
(
conference
,
server
)
{
author
-
only
=
true
;
hide
-
creator
=
false
;
secret
=
false
;
dont
-
garb
=
false
;
inherit
=
false
;
inherit
-
limit
=
1
;
add
-
trigger
=
mark
-
text
();
delete
-
trigger
=
unmark
-
text
();
undelete
-
trigger
=
mark
-
text
();
}
src/include/kom-errno.h
View file @
b8ba9bbf
/*
* $Id: kom-errno.h,v 0.1
4
199
7
/0
9
/1
3
1
5:31:39
byers Exp $
* $Id: kom-errno.h,v 0.1
5
199
8
/0
6
/1
4
1
4:50:25
byers Exp $
* Copyright (C) 1991, 1992, 1993, 1994, 1996 Lysator Academic Computer Association.
*
* This file is part of the LysKOM server.
...
...
@@ -91,6 +91,7 @@ typedef enum
KOM_INTERNAL_ERROR
=
51
,
/* Internal server error */
KOM_FEATURE_DISABLED
=
52
,
/* Server feature is disabled */
KOM_MESSAGE_NOT_SENT
=
53
,
/* Message not sent (no recipient found) */
KOM_INVALID_MEMBERSHIP_TYPE
=
54
,
/* Invalid membership type */
KOM_num_errs
/* End marker */
}
Kom_err
;
...
...
src/include/kom-types.h
View file @
b8ba9bbf
/*
* $Id: kom-types.h,v 0.2
4
199
7
/0
9
/1
3
1
5:31:40
byers Exp $
* $Id: kom-types.h,v 0.2
5
199
8
/0
6
/1
4
1
4:50:27
byers Exp $
* Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996 Lysator Academic Computer Association.
*
* This file is part of the LysKOM server.
...
...
@@ -224,7 +224,7 @@ typedef struct {
unsigned
int
inherit
:
1
;
/* Copy to comments */
unsigned
int
secret
:
1
;
/* Don't show anyone */
unsigned
int
hide_creator
:
1
;
/* Don't show the creator */
unsigned
int
reserved2
:
1
;
unsigned
int
dont_garb
:
1
;
/* Don't garb object */
unsigned
int
reserved3
:
1
;
unsigned
int
reserved4
:
1
;
unsigned
int
reserved5
:
1
;
...
...
@@ -290,7 +290,22 @@ typedef struct {
typedef
struct
{
Pers_no
member
;
Bool
invitation
:
1
;
Bool
passive
:
1
;
Bool
secret
:
1
;
Bool
reserved1
:
1
;
Bool
reserved2
:
1
;
Bool
reserved3
:
1
;
Bool
reserved4
:
1
;
Bool
reserved5
:
1
;
}
Membership_type
;
typedef
struct
{
Pers_no
member
;
Pers_no
added_by
;
Time
added_at
;
Membership_type
type
;
}
Member
;
...
...
@@ -304,6 +319,7 @@ typedef struct {
/* Information about a person's membership in a conference */
typedef
struct
{
Conf_no
conf_no
;
unsigned
char
priority
;
/* Interrupt priority */
...
...
@@ -314,6 +330,9 @@ typedef struct {
unsigned
short
no_of_read
;
Local_text_no
*
read_texts
;
/* Texts after last_text_read. Sorted
in ascending order */
Pers_no
added_by
;
Time
added_at
;
Membership_type
type
;
}
Membership
;
...
...
src/include/services.h
View file @
b8ba9bbf
/*
* $Id: services.h,v 0.3
2
199
7
/0
9
/1
3
1
5:31:41
byers Exp $
* $Id: services.h,v 0.3
3
199
8
/0
6
/1
4
1
4:50:28
byers Exp $
* Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996 Lysator Academic Computer Association.
*
* This file is part of the LysKOM server.
...
...
@@ -173,6 +173,13 @@ KOM_( get_created_texts (Pers_no person,
unsigned
long
no_of_texts
,
Text_list
*
created_texts
));
extern
Success
KOM_
(
get_membership_old
(
Pers_no
person
,
unsigned
short
first
,
unsigned
short
no_of_confs
,
Bool
want_read_texts
,
Membership_list
*
memberships
));
extern
Success
KOM_
(
get_membership
(
Pers_no
person
,
unsigned
short
first
,
...
...
@@ -180,8 +187,6 @@ KOM_( get_membership (Pers_no person,
Bool
want_read_texts
,
Membership_list
*
memberships
));
extern
Success
KOM_
(
set_priv_bits
(
Pers_no
person
,
Priv_bits
privileges
));
...
...
@@ -197,6 +202,11 @@ KOM_( set_passwd (Pers_no person,
/* You can query for unread texts without logging in. */
extern
Success
KOM_
(
query_read_texts_old
(
Pers_no
pers_no
,
Conf_no
conf_no
,
Membership
*
result
));
extern
Success
KOM_
(
query_read_texts
(
Pers_no
pers_no
,
Conf_no
conf_no
,
...
...
@@ -306,7 +316,14 @@ extern Success
KOM_
(
get_members
(
Conf_no
conf
,
unsigned
short
first
,
unsigned
short
no_of_members
,
Member_list
*
members
));
Member_list
*
members
));
extern
Success
KOM_
(
get_members_old
(
Conf_no
conf
,
unsigned
short
first
,
unsigned
short
no_of_members
,
Member_list
*
members
));
...
...
@@ -315,7 +332,19 @@ extern Success
KOM_
(
add_member
(
Conf_no
conf_no
,
Pers_no
pers_no
,
unsigned
char
priority
,
unsigned
short
where
));
/* Range of where is [0..] */
unsigned
short
where
,
/* Range of where is [0..] */
Membership_type
*
type
));
extern
Success
KOM_
(
add_member_old
(
Conf_no
conf_no
,
Pers_no
pers_no
,
unsigned
char
priority
,
unsigned
short
where
));
/* Range of where is [0..] */
extern
Success
KOM_
(
set_membership_type
(
Pers_no
pers_no
,
Conf_no
conf_no
,
Membership_type
*
type
));
extern
Success
...
...
src/server/Makefile.in
View file @
b8ba9bbf
...
...
@@ -161,7 +161,7 @@ fnc-def-init.incl: fnc-def-init.awk fncdef-no-str-limit.txt
>
fnc-def-init.incl
aux-item-def.tab.c
:
aux-item-def.y
$(BISON)
-d
-p
aux_item_def
-o
aux-item-def.tab.c aux-item-def.y
$(BISON)
-d
-p
aux_item_def
_
-o
aux-item-def.tab.c aux-item-def.y
aux-item-def.lex.c
:
aux-item-def.l
$(FLEX)
-oaux-item-def
.lex.c aux-item-def.l
...
...
src/server/Makefile.src
View file @
b8ba9bbf
#
# $Id: Makefile.src,v 1.3
0
199
7
/0
9
/1
3
1
5:31:45
byers Exp $
# $Id: Makefile.src,v 1.3
1
199
8
/0
6
/1
4
1
4:50:31
byers Exp $
# Copyright (C) 1991, 1993, 1994, 1995, 1996 Lysator Academic Computer Association.
#
# This file is part of the LysKOM server.
...
...
@@ -114,7 +114,7 @@ fnc-def-init.incl: fnc-def-init.awk fncdef-no-str-limit.txt
>
fnc-def-init.incl
aux-item-def.tab.c
:
aux-item-def.y
$(BISON)
-d
-p
aux_item_def
-o
aux-item-def.tab.c aux-item-def.y
$(BISON)
-d
-p
aux_item_def
_
-o
aux-item-def.tab.c aux-item-def.y
aux-item-def.lex.c
:
aux-item-def.l
$(FLEX)
-oaux-item-def
.lex.c aux-item-def.l
...
...
src/server/To-do
View file @
b8ba9bbf
dbck: Fixa s} att membership-list och member-list st{mmer |verens.
-----------------
Borde ha en skedjuler f|r sync&garb. Sync&garb borde returnera antalet
millisekunder tills de skall bli anropade igen. Det minsta av dessa
v{rden borde vara timeout till isc_getnextevent.
...
...
src/server/admin.c
View file @
b8ba9bbf
/*
* $Id: admin.c,v 0.2
4
199
7
/0
9
/1
3
1
5:31:47
byers Exp $
* $Id: admin.c,v 0.2
5
199
8
/0
6
/1
4
1
4:50:34
byers Exp $
* Copyright (C) 1991, 1993, 1994, 1995, 1996 Lysator Academic Computer Association.
*
* This file is part of the LysKOM server.
...
...
@@ -28,7 +28,7 @@
* Administrative calls.
*/
static
char
*
rcsid
=
"$Id: admin.c,v 0.2
4
199
7
/0
9
/1
3
1
5:31:47
byers Exp $"
;
static
char
*
rcsid
=
"$Id: admin.c,v 0.2
5
199
8
/0
6
/1
4
1
4:50:34
byers Exp $"
;
#include
"rcs.h"
USE
(
rcsid
);
...
...
@@ -268,6 +268,9 @@ send_message (Conf_no recipient,
retval
=
FAILURE
;
for
(
ix
=
0
;
ix
<
end
;
ix
++
)
{
if
(
conf_c
->
members
.
members
[
ix
].
type
.
passive
)
continue
;
if
(
async_send_group_message
(
conf_c
->
members
.
members
[
ix
].
member
,
recipient
,
ACTPERS
,
...
...
@@ -352,11 +355,16 @@ modify_server_info(Number_list *items_to_delete,
if
(
check_delete_aux_item_list
(
items_to_delete
,
&
kom_info
.
aux_item_list
)
!=
OK
)
return
FAILURE
;
delete_aux_item_list
(
items_to_delete
,
&
kom_info
.
aux_item_list
);
delete_aux_item_list
(
items_to_delete
,
&
kom_info
.
aux_item_list
,
OTHER_OBJECT_TYPE
,
0
,
NULL
);
if
(
system_check_add_aux_item_list
(
&
kom_info
,
items_to_add
,
ACTPERS
)
!=
OK
)
{
undelete_aux_item_list
(
items_to_delete
,
&
kom_info
.
aux_item_list
);
undelete_aux_item_list
(
items_to_delete
,
&
kom_info
.
aux_item_list
,
OTHER_OBJECT_TYPE
,
0
,
NULL
);
return
FAILURE
;
}
...
...
src/server/aux-item-def.l
View file @
b8ba9bbf
%{
/*
* $Id: aux-item-def.l,v 1.
1
199
7
/0
9
/1
3
1
5:31:48
byers Exp $
* $Id: aux-item-def.l,v 1.
2
199
8
/0
6
/1
4
1
4:50:35
byers Exp $
* Copyright (C) 1994, 1995, 1996 Lysator Academic Computer Association.
*
* This file is part of the LysKOM server.
...
...
@@ -87,7 +87,16 @@ letterbox {
}
server {
yylloc.first_line = yylineno;
RETURN SERVER;
RETURN TOK_SERVER;
}
create {
yylloc.first_line = yylineno;
RETURN CREATE;
}
modify {
yylloc.first_line = yylineno;
RETURN MODIFY;
}
...
...
@@ -97,6 +106,7 @@ server {
[[:alpha:]][\-[:alnum:]_]* {
char *s = yytext;
do { *s=tolower(*s); } while(*(++s));
yylval.str = EMPTY_STRING;
s_crea_str(&yylval.str, yytext);
yylloc.first_line = yylineno;
RETURN ID;
...
...
src/server/aux-item-def.lex.c
View file @
b8ba9bbf
...
...
@@ -20,7 +20,7 @@
/* A lexical scanner generated by flex */
/* Scanner skeleton version:
* $Header: /home/ceder/convert-lyskomd/cvsroot/lyskom-server/src/server/Attic/aux-item-def.lex.c,v 1.
1
199
7
/0
9
/1
3
1
5:31:50
byers Exp $
* $Header: /home/ceder/convert-lyskomd/cvsroot/lyskom-server/src/server/Attic/aux-item-def.lex.c,v 1.
2
199
8
/0
6
/1
4
1
4:50:36
byers Exp $
*/
#define FLEX_SCANNER
...
...
@@ -308,40 +308,42 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
*yy_cp = '\0'; \
yy_c_buf_p = yy_cp;
#define YY_NUM_RULES
28
#define YY_END_OF_BUFFER
29
static
yyconst
short
int
yy_acclist
[
1
33
]
=
#define YY_NUM_RULES
30
#define YY_END_OF_BUFFER
31
static
yyconst
short
int
yy_acclist
[
1
48
]
=
{
0
,
29
,
27
,
28
,
9
,
27
,
28
,
9
,
28
,
12
,
27
,
28
,
8
,
27
,
28
,
11
,
27
,
28
,
10
,
27
,
28
,
10
,
27
,
28
,
10
,
27
,
28
,
10
,
27
,
28
,
10
,
27
,
28
,
10
,
27
,
28
,
10
,
27
,
28
,
10
,
27
,
28
,
10
,
27
,
28
,
10
,
27
,
28
,
25
,
28
,
26
,
28
,
14
,
28
,
25
,
28
,
28
,
9
,
8
,
11
,
10
,
10
,
10
,
10
,
10
,
2
,
10
,
10
,
1
,
10
,
10
,
10
,
10
,
10
,
25
,
25
,
24
,
22
,
24
,
21
,
24
,
15
,
24
,
19
,
24
,
20
,
24
,
16
,
24
,
18
,
24
,
17
,
24
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
25
,
23
,
15
,
10
,
10
,
10
,
10
,
10
,
4
,
10
,
15
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
7
,
10
,
13
,
10
,
10
,
10
,
10
,
3
,
10
,
10
,
10
,
6
,
10
,
5
,
10
31
,
29
,
30
,
11
,
29
,
30
,
11
,
30
,
14
,
29
,
30
,
10
,
29
,
30
,
13
,
29
,
30
,
12
,
29
,
30
,
12
,
29
,
30
,
12
,
29
,
30
,
12
,
29
,
30
,
12
,
29
,
30
,
12
,
29
,
30
,
12
,
29
,
30
,
12
,
29
,
30
,
12
,
29
,
30
,
12
,
29
,
30
,
12
,
29
,
30
,
27
,
30
,
28
,
30
,
16
,
30
,
27
,
30
,
30
,
11
,
10
,
13
,
12
,
12
,
12
,
12
,
12
,
12
,
12
,
2
,
12
,
12
,
1
,
12
,
12
,
12
,
12
,
12
,
27
,
27
,
26
,
24
,
26
,
23
,
26
,
17
,
26
,
21
,
26
,
22
,
26
,
18
,
26
,
20
,
26
,
19
,
26
,
12
,
12
,
12
,
12
,
12
,
12
,
12
,
12
,
12
,
27
,
25
,
17
,
12
,
12
,
12
,
12
,
12
,
12
,
12
,
4
,
12
,
17
,
12
,
12
,
12
,
12
,
12
,
12
,
12
,
8
,
12
,
12
,
12
,
9
,
12
,
7
,
12
,
15
,
12
,
12
,
12
,
12
,
3
,
12
,
12
,
12
,
6
,
12
,
5
,
12
}
;
static
yyconst
short
int
yy_accept
[
93
]
=
static
yyconst
short
int
yy_accept
[
104
]
=
{
0
,
1
,
1
,
1
,
1
,
1
,
2
,
4
,
7
,
9
,
12
,
15
,
18
,
21
,
24
,
27
,
30
,
33
,
36
,
39
,
42
,
45
,
48
,
50
,
52
,
54
,
56
,
57
,
58
,
59
,
60
,
61
,
62
,
63
,
64
,
65
,
67
,
68
,
70
,
71
,
72
,
73
,
74
,
75
,
76
,
77
,
77
,
79
,
81
,
83
,
85
,
87
,
89
,
91
,
93
,
94
,
95
,
96
,
97
,
98
,
99
,
100
,
101
,
102
,
103
,
104
,
105
,
106
,
107
,
108
,
110
,
110
,
111
,
112
,
113
,
114
,
115
,
115
,
116
,
117
,
118
,
120
,
121
,
122
,
123
,
124
,
125
,
127
,
128
,
129
,
131
,
133
,
133
45
,
48
,
51
,
53
,
55
,
57
,
59
,
60
,
61
,
62
,
63
,
64
,
65
,
66
,
67
,
68
,
69
,
70
,
72
,
73
,
75
,
76
,
77
,
78
,
79
,
80
,
81
,
82
,
82
,
84
,
86
,
88
,
90
,
92
,
94
,
96
,
98
,
99
,
100
,
101
,
102
,
103
,
104
,
105
,
106
,
107
,
108
,
109
,
110
,
111
,
112
,
113
,
114
,
115
,
116
,
117
,
119
,
119
,
120
,
121
,
122
,
123
,
124
,
125
,
126
,
126
,
127
,
129
,
130
,
131
,
133
,
135
,
136
,
137
,
138
,
139
,
140
,
142
,
143
,
144
,
146
,
148
,
148
}
;
static
yyconst
int
yy_ec
[
256
]
=
...
...
@@ -357,9 +359,9 @@ static yyconst int yy_ec[256] =
11
,
11
,
11
,
11
,
11
,
11
,
11
,
11
,
11
,
11
,
12
,
13
,
14
,
1
,
9
,
1
,
15
,
16
,
17
,
18
,
19
,
20
,
11
,
11
,
21
,
11
,
11
,
22
,
11
,
2
3
,
2
4
,
11
,
11
,
25
,
26
,
27
,
28
,
29
,
11
,
3
0
,
3
1
,
11
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
19
,
20
,
11
,
11
,
21
,
11
,
11
,
22
,
23
,
2
4
,
2
5
,
11
,
11
,
26
,
27
,
28
,
29
,
30
,
11
,
3
1
,
3
2
,
11
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
...
...
@@ -376,86 +378,90 @@ static yyconst int yy_ec[256] =
1
,
1
,
1
,
1
,
1
}
;
static
yyconst
int
yy_meta
[
3
2
]
=
static
yyconst
int
yy_meta
[
3
3
]
=
{
0
,
1
,
1
,
2
,
1
,
3
,
1
,
1
,
1
,
4
,
4
,
4
,
1
,
3
,
1
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
,
4
4
,
4
}
;
static
yyconst
short
int
yy_base
[
97
]
=
static
yyconst
short
int
yy_base
[
108
]
=
{
0
,
0
,
0
,
29
,
32
,
130
,
131
,
36
,
44
,
131
,
0
,
119
,
0
,
104
,
106
,
111
,
106
,
100
,
13
,
104
,
24
,
103
,
0
,
131
,
131
,
117
,
47
,
56
,
0
,
110
,
0
,
96
,
92
,
95
,
89
,
0
,
95
,
0
,
89
,
83
,
84
,
85
,
0
,
108
,
131
,
49
,
131
,
131
,
99
,
131
,
131
,
131
,
131
,
131
,
88
,
92
,
80
,
78
,
75
,
76
,
83
,
98
,
60
,
90
,
80
,
82
,
78
,
77
,
76
,
0
,
80
,
131
,
68
,
70
,
66
,
60
,
76
,
61
,
54
,
55
,
0
,
131
,
46
,
50
,
42
,
48
,
0
,
31
,
37
,
0
,
0
,
131
,
74
,
78
,
51
,
82
,
86
0
,
0
,
30
,
33
,
141
,
142
,
37
,
45
,
142
,
0
,
130
,
0
,
25
,
118
,
123
,
118
,
111
,
110
,
32
,
115
,
18
,
114
,
0
,
142
,
142
,
128
,
54
,
51
,
0
,
121
,
0
,
106
,
110
,
101
,
105
,
98
,
107
,
0
,
104
,
0
,
97
,
91
,
92
,
93
,
0
,
117
,
142
,
56
,
142
,
142
,
108
,
142
,
142
,
142
,
142
,
142
,
97
,
101
,
100
,
87
,
85
,
91
,
81
,
82
,
90
,
105
,
61
,
97
,
87
,
77
,
88
,
84
,
83
,
81
,
81
,
0
,
85
,
142
,
67
,
73
,
66
,
55
,
47
,
51
,
68
,
56
,
0
,
54
,
56
,
0
,
0
,
142
,
47
,
51
,
43
,
50
,
0
,
35
,
43
,
0
,
0
,
142
,
82
,
86
,
30
,
90
,
94
}
;
static
yyconst
short
int
yy_def
[
97
]
=
static
yyconst
short
int
yy_def
[
108
]
=
{
0
,
91
,
1
,
92
,
92
,
91
,
91
,
91
,
91
,
91
,
93
,
91
,
94
,
94
,
94
,
94
,
94
,
94
,
94
,
94
,
94
,
94
,
95
,
91
,
91
,
95