mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 10:04:49 +00:00
Fix grammar of the size_is attribute so that size_is(*Length) gets accepted.
svn path=/trunk/; revision=16721
This commit is contained in:
parent
66fd6f0880
commit
971f04ec99
8 changed files with 2807 additions and 2137 deletions
|
@ -1,5 +1,17 @@
|
||||||
ChangeLog
|
ChangeLog
|
||||||
|
|
||||||
|
2005-07-25 ekohl
|
||||||
|
|
||||||
|
tools/widl/client.c
|
||||||
|
tools/widl/lex.yy.c
|
||||||
|
tools/widl/parser.y
|
||||||
|
tools/widl/proxy.c
|
||||||
|
tools/widl/server.c
|
||||||
|
tools/widl/y.tab.c
|
||||||
|
tools/widl/y.tab.h
|
||||||
|
|
||||||
|
- Fix grammar of the size_is attribute so that size_is(*Length) gets accepted.
|
||||||
|
|
||||||
2005-07-23 ekohl
|
2005-07-23 ekohl
|
||||||
|
|
||||||
tools/widl/client.c
|
tools/widl/client.c
|
||||||
|
|
|
@ -522,7 +522,7 @@ static void write_typeformatstring(type_t *iface)
|
||||||
{
|
{
|
||||||
unsigned char type_type = 0;
|
unsigned char type_type = 0;
|
||||||
|
|
||||||
type = get_type_by_name(func, ((expr_t *)sizeis_attr)->u.sval);
|
type = get_type_by_name(func, ((var_t *)sizeis_attr)->name);
|
||||||
if (type != NULL)
|
if (type != NULL)
|
||||||
type_type = type->type;
|
type_type = type->type;
|
||||||
|
|
||||||
|
@ -541,10 +541,10 @@ static void write_typeformatstring(type_t *iface)
|
||||||
|
|
||||||
fprintf(client, "#ifndef _ALPHA_\n");
|
fprintf(client, "#ifndef _ALPHA_\n");
|
||||||
print_client("NdrFcShort(0x%02X),\n",
|
print_client("NdrFcShort(0x%02X),\n",
|
||||||
get_var_stack_offset_32(func, ((expr_t *)sizeis_attr)->u.sval));
|
get_var_stack_offset_32(func, ((var_t *)sizeis_attr)->name));
|
||||||
fprintf(client, "#else\n");
|
fprintf(client, "#else\n");
|
||||||
print_client("NdrFcShort(0x%02X),\n",
|
print_client("NdrFcShort(0x%02X),\n",
|
||||||
get_var_stack_offset_64(func, ((expr_t *)sizeis_attr)->u.sval));
|
get_var_stack_offset_64(func, ((var_t *)sizeis_attr)->name));
|
||||||
fprintf(client, "#endif\n");
|
fprintf(client, "#endif\n");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
#line 2 "lex.yy.c"
|
||||||
/* A lexical scanner generated by flex */
|
/* A lexical scanner generated by flex */
|
||||||
|
|
||||||
/* Scanner skeleton version:
|
/* Scanner skeleton version:
|
||||||
|
@ -9,7 +10,6 @@
|
||||||
#define YY_FLEX_MINOR_VERSION 5
|
#define YY_FLEX_MINOR_VERSION 5
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
|
|
||||||
/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
|
/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
|
||||||
|
@ -23,6 +23,7 @@
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
/* Use prototypes in function declarations. */
|
/* Use prototypes in function declarations. */
|
||||||
#define YY_USE_PROTOS
|
#define YY_USE_PROTOS
|
||||||
|
@ -3087,7 +3088,7 @@ static yyconst short int yy_rule_linenum[18] =
|
||||||
#define YY_MORE_ADJ 0
|
#define YY_MORE_ADJ 0
|
||||||
#define YY_RESTORE_YY_MORE_OFFSET
|
#define YY_RESTORE_YY_MORE_OFFSET
|
||||||
char *yytext;
|
char *yytext;
|
||||||
#line 1 "./parser.l"
|
#line 1 "parser.l"
|
||||||
#define INITIAL 0
|
#define INITIAL 0
|
||||||
/*
|
/*
|
||||||
* IDL Compiler
|
* IDL Compiler
|
||||||
|
@ -3114,7 +3115,7 @@ char *yytext;
|
||||||
|
|
||||||
#define pp_line 2
|
#define pp_line 2
|
||||||
|
|
||||||
#line 36 "./parser.l"
|
#line 36 "parser.l"
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
|
@ -3185,7 +3186,7 @@ static UUID* parse_uuid(const char*u)
|
||||||
* The flexer starts here
|
* The flexer starts here
|
||||||
**************************************************************************
|
**************************************************************************
|
||||||
*/
|
*/
|
||||||
#line 3189 "lex.yy.c"
|
#line 3190 "lex.yy.c"
|
||||||
|
|
||||||
/* Macros after this point can all be overridden by user definitions in
|
/* Macros after this point can all be overridden by user definitions in
|
||||||
* section 1.
|
* section 1.
|
||||||
|
@ -3336,12 +3337,12 @@ YY_MALLOC_DECL
|
||||||
YY_DECL
|
YY_DECL
|
||||||
{
|
{
|
||||||
register yy_state_type yy_current_state;
|
register yy_state_type yy_current_state;
|
||||||
register char *yy_cp = NULL, *yy_bp = NULL;
|
register char *yy_cp, *yy_bp;
|
||||||
register int yy_act;
|
register int yy_act;
|
||||||
|
|
||||||
#line 108 "./parser.l"
|
#line 108 "parser.l"
|
||||||
|
|
||||||
#line 3345 "lex.yy.c"
|
#line 3346 "lex.yy.c"
|
||||||
|
|
||||||
if ( yy_init )
|
if ( yy_init )
|
||||||
{
|
{
|
||||||
|
@ -3430,12 +3431,12 @@ do_action: /* This label is used only to access EOF actions. */
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 109 "./parser.l"
|
#line 109 "parser.l"
|
||||||
yy_push_state(pp_line);
|
yy_push_state(pp_line);
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 2:
|
case 2:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 110 "./parser.l"
|
#line 110 "parser.l"
|
||||||
{
|
{
|
||||||
int lineno;
|
int lineno;
|
||||||
char *cptr, *fname;
|
char *cptr, *fname;
|
||||||
|
@ -3458,12 +3459,12 @@ YY_RULE_SETUP
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 3:
|
case 3:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 129 "./parser.l"
|
#line 129 "parser.l"
|
||||||
yy_push_state(QUOTE); cbufidx = 0;
|
yy_push_state(QUOTE); cbufidx = 0;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 4:
|
case 4:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 130 "./parser.l"
|
#line 130 "parser.l"
|
||||||
{
|
{
|
||||||
yy_pop_state();
|
yy_pop_state();
|
||||||
yylval.str = get_buffered_cstring();
|
yylval.str = get_buffered_cstring();
|
||||||
|
@ -3471,25 +3472,25 @@ YY_RULE_SETUP
|
||||||
}
|
}
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 5:
|
case 5:
|
||||||
#line 136 "./parser.l"
|
#line 136 "parser.l"
|
||||||
case 6:
|
case 6:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 136 "./parser.l"
|
#line 136 "parser.l"
|
||||||
addcchar(yytext[1]);
|
addcchar(yytext[1]);
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 7:
|
case 7:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 137 "./parser.l"
|
#line 137 "parser.l"
|
||||||
addcchar('\\'); addcchar(yytext[1]);
|
addcchar('\\'); addcchar(yytext[1]);
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 8:
|
case 8:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 138 "./parser.l"
|
#line 138 "parser.l"
|
||||||
addcchar(yytext[0]);
|
addcchar(yytext[0]);
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 9:
|
case 9:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 139 "./parser.l"
|
#line 139 "parser.l"
|
||||||
{
|
{
|
||||||
yylval.uuid = parse_uuid(yytext);
|
yylval.uuid = parse_uuid(yytext);
|
||||||
return aUUID;
|
return aUUID;
|
||||||
|
@ -3497,7 +3498,7 @@ YY_RULE_SETUP
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 10:
|
case 10:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 143 "./parser.l"
|
#line 143 "parser.l"
|
||||||
{
|
{
|
||||||
yylval.num = strtoul(yytext, NULL, 0);
|
yylval.num = strtoul(yytext, NULL, 0);
|
||||||
return aHEXNUM;
|
return aHEXNUM;
|
||||||
|
@ -3505,7 +3506,7 @@ YY_RULE_SETUP
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 11:
|
case 11:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 147 "./parser.l"
|
#line 147 "parser.l"
|
||||||
{
|
{
|
||||||
yylval.num = strtoul(yytext, NULL, 0);
|
yylval.num = strtoul(yytext, NULL, 0);
|
||||||
return aNUM;
|
return aNUM;
|
||||||
|
@ -3513,38 +3514,38 @@ YY_RULE_SETUP
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 12:
|
case 12:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 151 "./parser.l"
|
#line 151 "parser.l"
|
||||||
return kw_token(yytext);
|
return kw_token(yytext);
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 13:
|
case 13:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 152 "./parser.l"
|
#line 152 "parser.l"
|
||||||
line_number++;
|
line_number++;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 14:
|
case 14:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 153 "./parser.l"
|
#line 153 "parser.l"
|
||||||
|
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 15:
|
case 15:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 154 "./parser.l"
|
#line 154 "parser.l"
|
||||||
return SHL;
|
return SHL;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 16:
|
case 16:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 155 "./parser.l"
|
#line 155 "parser.l"
|
||||||
return SHR;
|
return SHR;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 17:
|
case 17:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 156 "./parser.l"
|
#line 156 "parser.l"
|
||||||
return yytext[0];
|
return yytext[0];
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case YY_STATE_EOF(INITIAL):
|
case YY_STATE_EOF(INITIAL):
|
||||||
case YY_STATE_EOF(QUOTE):
|
case YY_STATE_EOF(QUOTE):
|
||||||
case YY_STATE_EOF(pp_line):
|
case YY_STATE_EOF(pp_line):
|
||||||
#line 157 "./parser.l"
|
#line 157 "parser.l"
|
||||||
{
|
{
|
||||||
if (import_stack_ptr) {
|
if (import_stack_ptr) {
|
||||||
pop_import();
|
pop_import();
|
||||||
|
@ -3555,10 +3556,10 @@ case YY_STATE_EOF(pp_line):
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 18:
|
case 18:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 164 "./parser.l"
|
#line 164 "parser.l"
|
||||||
ECHO;
|
ECHO;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
#line 3562 "lex.yy.c"
|
#line 3563 "lex.yy.c"
|
||||||
|
|
||||||
case YY_END_OF_BUFFER:
|
case YY_END_OF_BUFFER:
|
||||||
{
|
{
|
||||||
|
@ -3934,7 +3935,6 @@ register char *yy_bp;
|
||||||
#endif /* ifndef YY_NO_UNPUT */
|
#endif /* ifndef YY_NO_UNPUT */
|
||||||
|
|
||||||
|
|
||||||
#ifndef YY_NO_INPUT
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
static int yyinput()
|
static int yyinput()
|
||||||
#else
|
#else
|
||||||
|
@ -4007,7 +4007,7 @@ static int input()
|
||||||
|
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
#endif /* YY_NO_INPUT */
|
|
||||||
|
|
||||||
#ifdef YY_USE_PROTOS
|
#ifdef YY_USE_PROTOS
|
||||||
void yyrestart( FILE *input_file )
|
void yyrestart( FILE *input_file )
|
||||||
|
@ -4118,6 +4118,11 @@ YY_BUFFER_STATE b;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef YY_ALWAYS_INTERACTIVE
|
||||||
|
#ifndef YY_NEVER_INTERACTIVE
|
||||||
|
extern int isatty YY_PROTO(( int ));
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef YY_USE_PROTOS
|
#ifdef YY_USE_PROTOS
|
||||||
void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
|
void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
|
||||||
|
@ -4435,7 +4440,7 @@ int main()
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#line 164 "./parser.l"
|
#line 164 "parser.l"
|
||||||
|
|
||||||
|
|
||||||
#ifndef yywrap
|
#ifndef yywrap
|
||||||
|
|
|
@ -363,7 +363,7 @@ attribute:
|
||||||
| tIMPLICITHANDLE '(' tHANDLET aIDENTIFIER ')' { $$ = make_attrp(ATTR_IMPLICIT_HANDLE, $4); }
|
| tIMPLICITHANDLE '(' tHANDLET aIDENTIFIER ')' { $$ = make_attrp(ATTR_IMPLICIT_HANDLE, $4); }
|
||||||
| tIN { $$ = make_attr(ATTR_IN); }
|
| tIN { $$ = make_attr(ATTR_IN); }
|
||||||
| tINPUTSYNC { $$ = make_attr(ATTR_INPUTSYNC); }
|
| tINPUTSYNC { $$ = make_attr(ATTR_INPUTSYNC); }
|
||||||
| tLENGTHIS '(' m_exprs ')' { $$ = make_attrp(ATTR_LENGTHIS, $3); }
|
| tLENGTHIS '(' pident_list ')' { $$ = make_attrp(ATTR_LENGTHIS, $3); }
|
||||||
| tLOCAL { $$ = make_attr(ATTR_LOCAL); }
|
| tLOCAL { $$ = make_attr(ATTR_LOCAL); }
|
||||||
| tNONCREATABLE { $$ = make_attr(ATTR_NONCREATABLE); }
|
| tNONCREATABLE { $$ = make_attr(ATTR_NONCREATABLE); }
|
||||||
| tOBJECT { $$ = make_attr(ATTR_OBJECT); }
|
| tOBJECT { $$ = make_attr(ATTR_OBJECT); }
|
||||||
|
@ -381,7 +381,7 @@ attribute:
|
||||||
| tREF { $$ = make_attr(ATTR_REF); }
|
| tREF { $$ = make_attr(ATTR_REF); }
|
||||||
| tRESTRICTED { $$ = make_attr(ATTR_RESTRICTED); }
|
| tRESTRICTED { $$ = make_attr(ATTR_RESTRICTED); }
|
||||||
| tRETVAL { $$ = make_attr(ATTR_RETVAL); }
|
| tRETVAL { $$ = make_attr(ATTR_RETVAL); }
|
||||||
| tSIZEIS '(' m_exprs ')' { $$ = make_attrp(ATTR_SIZEIS, $3); }
|
| tSIZEIS '(' pident_list ')' { $$ = make_attrp(ATTR_SIZEIS, $3); }
|
||||||
| tSOURCE { $$ = make_attr(ATTR_SOURCE); }
|
| tSOURCE { $$ = make_attr(ATTR_SOURCE); }
|
||||||
| tSTRING { $$ = make_attr(ATTR_STRING); }
|
| tSTRING { $$ = make_attr(ATTR_STRING); }
|
||||||
| tSWITCHIS '(' expr ')' { $$ = make_attrp(ATTR_SWITCHIS, $3); }
|
| tSWITCHIS '(' expr ')' { $$ = make_attrp(ATTR_SWITCHIS, $3); }
|
||||||
|
|
|
@ -206,13 +206,13 @@ static void marshall_size_arg( var_t *arg )
|
||||||
{
|
{
|
||||||
int index = 0;
|
int index = 0;
|
||||||
type_t *type = get_base_type(arg);
|
type_t *type = get_base_type(arg);
|
||||||
expr_t *expr;
|
var_t *var;
|
||||||
|
|
||||||
expr = get_attrp( arg->attrs, ATTR_SIZEIS );
|
var = get_attrp( arg->attrs, ATTR_SIZEIS );
|
||||||
if (expr)
|
if (var)
|
||||||
{
|
{
|
||||||
print_proxy( "_StubMsg.MaxCount = ", arg->name );
|
print_proxy( "_StubMsg.MaxCount = ", arg->name );
|
||||||
write_expr(proxy, expr);
|
write_name(proxy, var);
|
||||||
fprintf(proxy, ";\n\n");
|
fprintf(proxy, ";\n\n");
|
||||||
print_proxy( "NdrConformantArrayBufferSize( &_StubMsg, (unsigned char*)%s, ", arg->name );
|
print_proxy( "NdrConformantArrayBufferSize( &_StubMsg, (unsigned char*)%s, ", arg->name );
|
||||||
fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d]);\n", index );
|
fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d]);\n", index );
|
||||||
|
@ -238,7 +238,7 @@ static void marshall_size_arg( var_t *arg )
|
||||||
case RPC_FC_ENUM32:
|
case RPC_FC_ENUM32:
|
||||||
print_proxy( "_StubMsg.BufferLength += %d; /* %s */\n", 4, arg->name );
|
print_proxy( "_StubMsg.BufferLength += %d; /* %s */\n", 4, arg->name );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RPC_FC_STRUCT:
|
case RPC_FC_STRUCT:
|
||||||
print_proxy( "NdrSimpleStructBufferSize(&_StubMsg, (unsigned char*)%s, ", arg->name );
|
print_proxy( "NdrSimpleStructBufferSize(&_StubMsg, (unsigned char*)%s, ", arg->name );
|
||||||
fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d] );\n", index );
|
fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d] );\n", index );
|
||||||
|
@ -285,7 +285,7 @@ static void proxy_gen_marshall_size( var_t *arg )
|
||||||
|
|
||||||
END_OF_LIST(arg);
|
END_OF_LIST(arg);
|
||||||
while (arg) {
|
while (arg) {
|
||||||
if (is_attr(arg->attrs, ATTR_IN))
|
if (is_attr(arg->attrs, ATTR_IN))
|
||||||
{
|
{
|
||||||
marshall_size_arg( arg );
|
marshall_size_arg( arg );
|
||||||
fprintf(proxy, "\n");
|
fprintf(proxy, "\n");
|
||||||
|
@ -298,13 +298,13 @@ static void marshall_copy_arg( var_t *arg )
|
||||||
{
|
{
|
||||||
int index = 0;
|
int index = 0;
|
||||||
type_t *type = get_base_type(arg);
|
type_t *type = get_base_type(arg);
|
||||||
expr_t *expr;
|
var_t *var;
|
||||||
|
|
||||||
expr = get_attrp( arg->attrs, ATTR_SIZEIS );
|
var = get_attrp( arg->attrs, ATTR_SIZEIS );
|
||||||
if (expr)
|
if (var)
|
||||||
{
|
{
|
||||||
print_proxy( "_StubMsg.MaxCount = ", arg->name );
|
print_proxy( "_StubMsg.MaxCount = ", arg->name );
|
||||||
write_expr(proxy, expr);
|
write_name(proxy, var);
|
||||||
fprintf(proxy, ";\n\n");
|
fprintf(proxy, ";\n\n");
|
||||||
print_proxy( "NdrConformantArrayMarshall( &_StubMsg, (unsigned char*)%s, ", arg->name );
|
print_proxy( "NdrConformantArrayMarshall( &_StubMsg, (unsigned char*)%s, ", arg->name );
|
||||||
fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d]);\n", index );
|
fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d]);\n", index );
|
||||||
|
@ -326,7 +326,7 @@ static void marshall_copy_arg( var_t *arg )
|
||||||
write_type(proxy, arg->type, arg, arg->tname);
|
write_type(proxy, arg->type, arg, arg->tname);
|
||||||
fprintf(proxy,"*)_StubMsg.Buffer)++ = %s;\n", arg->name );
|
fprintf(proxy,"*)_StubMsg.Buffer)++ = %s;\n", arg->name );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RPC_FC_STRUCT:
|
case RPC_FC_STRUCT:
|
||||||
/* FIXME: add the format string, and set the index below */
|
/* FIXME: add the format string, and set the index below */
|
||||||
print_proxy( "NdrSimpleStructMarshall(&_StubMsg, (unsigned char*)%s, ", arg->name );
|
print_proxy( "NdrSimpleStructMarshall(&_StubMsg, (unsigned char*)%s, ", arg->name );
|
||||||
|
@ -370,7 +370,7 @@ static void gen_marshall_copydata( var_t *arg )
|
||||||
{
|
{
|
||||||
END_OF_LIST(arg);
|
END_OF_LIST(arg);
|
||||||
while (arg) {
|
while (arg) {
|
||||||
if (is_attr(arg->attrs, ATTR_IN))
|
if (is_attr(arg->attrs, ATTR_IN))
|
||||||
{
|
{
|
||||||
marshall_copy_arg( arg );
|
marshall_copy_arg( arg );
|
||||||
fprintf(proxy, "\n");
|
fprintf(proxy, "\n");
|
||||||
|
@ -397,10 +397,10 @@ static void unmarshall_copy_arg( var_t *arg )
|
||||||
{
|
{
|
||||||
int index = 0;
|
int index = 0;
|
||||||
type_t *type = get_base_type(arg);
|
type_t *type = get_base_type(arg);
|
||||||
expr_t *expr;
|
var_t *var;
|
||||||
|
|
||||||
expr = get_attrp( arg->attrs, ATTR_SIZEIS );
|
var = get_attrp( arg->attrs, ATTR_SIZEIS );
|
||||||
if (expr)
|
if (var)
|
||||||
{
|
{
|
||||||
print_proxy( "NdrConformantArrayUnmarshall( &_StubMsg, (unsigned char*)%s, ", arg->name );
|
print_proxy( "NdrConformantArrayUnmarshall( &_StubMsg, (unsigned char*)%s, ", arg->name );
|
||||||
fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d]);\n", index );
|
fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d]);\n", index );
|
||||||
|
@ -422,7 +422,7 @@ static void unmarshall_copy_arg( var_t *arg )
|
||||||
write_type(proxy, arg->type, arg, arg->tname);
|
write_type(proxy, arg->type, arg, arg->tname);
|
||||||
fprintf(proxy,"*)_StubMsg.Buffer)++;\n");
|
fprintf(proxy,"*)_StubMsg.Buffer)++;\n");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RPC_FC_STRUCT:
|
case RPC_FC_STRUCT:
|
||||||
print_proxy( "NdrSimpleStructUnmarshall(&_StubMsg, (unsigned char**)%s, ", arg->name );
|
print_proxy( "NdrSimpleStructUnmarshall(&_StubMsg, (unsigned char**)%s, ", arg->name );
|
||||||
fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d], 0);\n", index );
|
fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d], 0);\n", index );
|
||||||
|
@ -467,7 +467,7 @@ static void gen_unmarshall( var_t *arg )
|
||||||
{
|
{
|
||||||
END_OF_LIST(arg);
|
END_OF_LIST(arg);
|
||||||
while (arg) {
|
while (arg) {
|
||||||
if (is_attr(arg->attrs, ATTR_OUT))
|
if (is_attr(arg->attrs, ATTR_OUT))
|
||||||
{
|
{
|
||||||
unmarshall_copy_arg( arg );
|
unmarshall_copy_arg( arg );
|
||||||
fprintf(proxy, "\n");
|
fprintf(proxy, "\n");
|
||||||
|
@ -481,13 +481,13 @@ static void free_variable( var_t *arg )
|
||||||
var_t *constraint;
|
var_t *constraint;
|
||||||
int index = 0; /* FIXME */
|
int index = 0; /* FIXME */
|
||||||
type_t *type;
|
type_t *type;
|
||||||
expr_t *expr;
|
var_t *var;
|
||||||
|
|
||||||
expr = get_attrp( arg->attrs, ATTR_SIZEIS );
|
var = get_attrp( arg->attrs, ATTR_SIZEIS );
|
||||||
if (expr)
|
if (var)
|
||||||
{
|
{
|
||||||
print_proxy( "_StubMsg.MaxCount = ", arg->name );
|
print_proxy( "_StubMsg.MaxCount = ", arg->name );
|
||||||
write_expr(proxy, expr);
|
write_name(proxy, var);
|
||||||
fprintf(proxy, ";\n\n");
|
fprintf(proxy, ";\n\n");
|
||||||
print_proxy( "NdrClearOutParameters( &_StubMsg, ");
|
print_proxy( "NdrClearOutParameters( &_StubMsg, ");
|
||||||
fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d], ", index );
|
fprintf(proxy, "&__MIDL_TypeFormatString.Format[%d], ", index );
|
||||||
|
@ -529,7 +529,7 @@ static void proxy_free_variables( var_t *arg )
|
||||||
{
|
{
|
||||||
END_OF_LIST(arg);
|
END_OF_LIST(arg);
|
||||||
while (arg) {
|
while (arg) {
|
||||||
if (is_attr(arg->attrs, ATTR_OUT))
|
if (is_attr(arg->attrs, ATTR_OUT))
|
||||||
{
|
{
|
||||||
free_variable( arg );
|
free_variable( arg );
|
||||||
fprintf(proxy, "\n");
|
fprintf(proxy, "\n");
|
||||||
|
@ -587,7 +587,7 @@ static void gen_proxy(type_t *iface, func_t *cur, int idx)
|
||||||
|
|
||||||
gen_unmarshall( cur->args );
|
gen_unmarshall( cur->args );
|
||||||
if (has_ret) {
|
if (has_ret) {
|
||||||
/*
|
/*
|
||||||
* FIXME: We only need to round the buffer up if it could be unaligned...
|
* FIXME: We only need to round the buffer up if it could be unaligned...
|
||||||
* We should calculate how much buffer we used and output the following
|
* We should calculate how much buffer we used and output the following
|
||||||
* line only if necessary.
|
* line only if necessary.
|
||||||
|
@ -790,7 +790,7 @@ static void gen_stub(type_t *iface, func_t *cur, char *cas)
|
||||||
fprintf(proxy, "\n");
|
fprintf(proxy, "\n");
|
||||||
|
|
||||||
if (has_ret) {
|
if (has_ret) {
|
||||||
/*
|
/*
|
||||||
* FIXME: We only need to round the buffer up if it could be unaligned...
|
* FIXME: We only need to round the buffer up if it could be unaligned...
|
||||||
* We should calculate how much buffer we used and output the following
|
* We should calculate how much buffer we used and output the following
|
||||||
* line only if necessary.
|
* line only if necessary.
|
||||||
|
|
|
@ -113,7 +113,7 @@ static unsigned int
|
||||||
get_var_type_offset(var_t *var)
|
get_var_type_offset(var_t *var)
|
||||||
{
|
{
|
||||||
unsigned int toffset = 0;
|
unsigned int toffset = 0;
|
||||||
void *size_is_attr;
|
void *sizeis_attr;
|
||||||
int string_attr;
|
int string_attr;
|
||||||
|
|
||||||
if (var->ptr_level == 0)
|
if (var->ptr_level == 0)
|
||||||
|
@ -138,10 +138,10 @@ get_var_type_offset(var_t *var)
|
||||||
}
|
}
|
||||||
else if (var->ptr_level == 1)
|
else if (var->ptr_level == 1)
|
||||||
{
|
{
|
||||||
size_is_attr = get_attrp(var->attrs, ATTR_SIZEIS);
|
sizeis_attr = get_attrp(var->attrs, ATTR_SIZEIS);
|
||||||
string_attr = is_attr(var->attrs, ATTR_STRING);
|
string_attr = is_attr(var->attrs, ATTR_STRING);
|
||||||
|
|
||||||
if (size_is_attr)
|
if (sizeis_attr)
|
||||||
{
|
{
|
||||||
if (string_attr)
|
if (string_attr)
|
||||||
{
|
{
|
||||||
|
@ -519,7 +519,7 @@ static void write_typeformatstring(type_t *iface)
|
||||||
{
|
{
|
||||||
unsigned char type_type = 0;
|
unsigned char type_type = 0;
|
||||||
|
|
||||||
type = get_type_by_name(func, ((expr_t *)sizeis_attr)->u.sval);
|
type = get_type_by_name(func, ((var_t *)sizeis_attr)->name);
|
||||||
if (type != NULL)
|
if (type != NULL)
|
||||||
type_type = type->type;
|
type_type = type->type;
|
||||||
|
|
||||||
|
@ -538,10 +538,10 @@ static void write_typeformatstring(type_t *iface)
|
||||||
|
|
||||||
fprintf(server, "#ifndef _ALPHA_\n");
|
fprintf(server, "#ifndef _ALPHA_\n");
|
||||||
print_server("NdrFcShort(0x%02X),\n",
|
print_server("NdrFcShort(0x%02X),\n",
|
||||||
get_var_stack_offset_32(func, ((expr_t *)sizeis_attr)->u.sval));
|
get_var_stack_offset_32(func, ((var_t *)sizeis_attr)->name));
|
||||||
fprintf(server, "#else\n");
|
fprintf(server, "#else\n");
|
||||||
print_server("NdrFcShort(0x%02X),\n",
|
print_server("NdrFcShort(0x%02X),\n",
|
||||||
get_var_stack_offset_64(func, ((expr_t *)sizeis_attr)->u.sval));
|
get_var_stack_offset_64(func, ((var_t *)sizeis_attr)->name));
|
||||||
fprintf(server, "#endif\n");
|
fprintf(server, "#endif\n");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -815,7 +815,7 @@ static void print_message_buffer_size(func_t *func, unsigned int *type_offset)
|
||||||
var->type->type == RPC_FC_CHAR ||
|
var->type->type == RPC_FC_CHAR ||
|
||||||
var->type->type == RPC_FC_WCHAR))
|
var->type->type == RPC_FC_WCHAR))
|
||||||
{
|
{
|
||||||
print_server("_StubMsg.MaxCount = %s;\n", ((expr_t *)sizeis_attr)->u.sval);
|
print_server("_StubMsg.MaxCount = %s;\n", ((var_t *)sizeis_attr)->name);
|
||||||
fprintf(server, "\n");
|
fprintf(server, "\n");
|
||||||
print_server("NdrConformantStringBufferSize(\n");
|
print_server("NdrConformantStringBufferSize(\n");
|
||||||
indent++;
|
indent++;
|
||||||
|
@ -1160,7 +1160,7 @@ static void marshall_out_arguments(func_t *func, unsigned int *type_offset)
|
||||||
if (string_attr)
|
if (string_attr)
|
||||||
{
|
{
|
||||||
fprintf(server, "\n");
|
fprintf(server, "\n");
|
||||||
print_server("_StubMsg.MaxCount = %s;\n", ((expr_t *)sizeis_attr)->u.sval);
|
print_server("_StubMsg.MaxCount = %s;\n", ((var_t *)sizeis_attr)->name);
|
||||||
fprintf(server, "\n");
|
fprintf(server, "\n");
|
||||||
print_server("NdrConformantStringMarshall(\n");
|
print_server("NdrConformantStringMarshall(\n");
|
||||||
indent++;
|
indent++;
|
||||||
|
@ -1360,7 +1360,7 @@ static void cleanup_return_buffer(func_t *func, unsigned int *type_offset)
|
||||||
indent++;
|
indent++;
|
||||||
if (string_attr)
|
if (string_attr)
|
||||||
{
|
{
|
||||||
print_server("_StubMsg.MaxCount = %s;\n", ((expr_t *)sizeis_attr)->u.sval);
|
print_server("_StubMsg.MaxCount = %s;\n", ((var_t *)sizeis_attr)->name);
|
||||||
fprintf(server, "\n");
|
fprintf(server, "\n");
|
||||||
print_server("NdrPointerFree(\n");
|
print_server("NdrPointerFree(\n");
|
||||||
indent++;
|
indent++;
|
||||||
|
@ -1406,7 +1406,7 @@ static void write_function_stubs(type_t *iface)
|
||||||
unsigned int i, sep;
|
unsigned int i, sep;
|
||||||
int in_attr;
|
int in_attr;
|
||||||
int out_attr;
|
int out_attr;
|
||||||
void *size_is_attr;
|
void *sizeis_attr;
|
||||||
|
|
||||||
while (NEXT_LINK(func)) func = NEXT_LINK(func);
|
while (NEXT_LINK(func)) func = NEXT_LINK(func);
|
||||||
while (func)
|
while (func)
|
||||||
|
@ -1462,11 +1462,11 @@ static void write_function_stubs(type_t *iface)
|
||||||
{
|
{
|
||||||
in_attr = is_attr(var->attrs, ATTR_IN);
|
in_attr = is_attr(var->attrs, ATTR_IN);
|
||||||
out_attr = is_attr(var->attrs, ATTR_OUT);
|
out_attr = is_attr(var->attrs, ATTR_OUT);
|
||||||
size_is_attr = get_attrp(var->attrs, ATTR_SIZEIS);
|
sizeis_attr = get_attrp(var->attrs, ATTR_SIZEIS);
|
||||||
|
|
||||||
if (!out_attr && !in_attr)
|
if (!out_attr && !in_attr)
|
||||||
in_attr = 1;
|
in_attr = 1;
|
||||||
if (!in_attr && !size_is_attr)
|
if (!in_attr && !sizeis_attr)
|
||||||
{
|
{
|
||||||
if (var->type->type == RPC_FC_RP)
|
if (var->type->type == RPC_FC_RP)
|
||||||
{
|
{
|
||||||
|
@ -1567,16 +1567,16 @@ static void write_function_stubs(type_t *iface)
|
||||||
if (!out_attr && !in_attr)
|
if (!out_attr && !in_attr)
|
||||||
in_attr = 1;
|
in_attr = 1;
|
||||||
|
|
||||||
size_is_attr = get_attrp(var->attrs, ATTR_SIZEIS);
|
sizeis_attr = get_attrp(var->attrs, ATTR_SIZEIS);
|
||||||
|
|
||||||
if (!in_attr)
|
if (!in_attr)
|
||||||
{
|
{
|
||||||
if (size_is_attr != NULL)
|
if (sizeis_attr != NULL)
|
||||||
{
|
{
|
||||||
print_server("");
|
print_server("");
|
||||||
write_name(server, var);
|
write_name(server, var);
|
||||||
fprintf(server, " = NdrAllocate(&_StubMsg, %s * %d);\n",
|
fprintf(server, " = NdrAllocate(&_StubMsg, %s * %d);\n",
|
||||||
((expr_t *)size_is_attr)->u.sval, get_type_size(var->type, 1));
|
((var_t *)sizeis_attr)->name, get_type_size(var->type, 1));
|
||||||
sep = 1;
|
sep = 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,8 +1,289 @@
|
||||||
#ifndef BISON_Y_TAB_H
|
/* A Bison parser, made by GNU Bison 1.875. */
|
||||||
# define BISON_Y_TAB_H
|
|
||||||
|
|
||||||
#ifndef YYSTYPE
|
/* Skeleton parser for Yacc-like parsing with Bison,
|
||||||
typedef union {
|
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2, or (at your option)
|
||||||
|
any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
Boston, MA 02111-1307, USA. */
|
||||||
|
|
||||||
|
/* As a special exception, when this file is copied by Bison into a
|
||||||
|
Bison output file, you may use that output file without restriction.
|
||||||
|
This special exception was added by the Free Software Foundation
|
||||||
|
in version 1.24 of Bison. */
|
||||||
|
|
||||||
|
/* Tokens. */
|
||||||
|
#ifndef YYTOKENTYPE
|
||||||
|
# define YYTOKENTYPE
|
||||||
|
/* Put the tokens into the symbol table, so that GDB and other debuggers
|
||||||
|
know about them. */
|
||||||
|
enum yytokentype {
|
||||||
|
aIDENTIFIER = 258,
|
||||||
|
aKNOWNTYPE = 259,
|
||||||
|
aNUM = 260,
|
||||||
|
aHEXNUM = 261,
|
||||||
|
aSTRING = 262,
|
||||||
|
aUUID = 263,
|
||||||
|
aEOF = 264,
|
||||||
|
SHL = 265,
|
||||||
|
SHR = 266,
|
||||||
|
tAGGREGATABLE = 267,
|
||||||
|
tALLOCATE = 268,
|
||||||
|
tAPPOBJECT = 269,
|
||||||
|
tARRAYS = 270,
|
||||||
|
tASYNC = 271,
|
||||||
|
tASYNCUUID = 272,
|
||||||
|
tAUTOHANDLE = 273,
|
||||||
|
tBINDABLE = 274,
|
||||||
|
tBOOLEAN = 275,
|
||||||
|
tBROADCAST = 276,
|
||||||
|
tBYTE = 277,
|
||||||
|
tBYTECOUNT = 278,
|
||||||
|
tCALLAS = 279,
|
||||||
|
tCALLBACK = 280,
|
||||||
|
tCASE = 281,
|
||||||
|
tCDECL = 282,
|
||||||
|
tCHAR = 283,
|
||||||
|
tCOCLASS = 284,
|
||||||
|
tCODE = 285,
|
||||||
|
tCOMMSTATUS = 286,
|
||||||
|
tCONST = 287,
|
||||||
|
tCONTEXTHANDLE = 288,
|
||||||
|
tCONTEXTHANDLENOSERIALIZE = 289,
|
||||||
|
tCONTEXTHANDLESERIALIZE = 290,
|
||||||
|
tCONTROL = 291,
|
||||||
|
tCPPQUOTE = 292,
|
||||||
|
tDEFAULT = 293,
|
||||||
|
tDEFAULTVALUE = 294,
|
||||||
|
tDISPINTERFACE = 295,
|
||||||
|
tDLLNAME = 296,
|
||||||
|
tDOUBLE = 297,
|
||||||
|
tDUAL = 298,
|
||||||
|
tENDPOINT = 299,
|
||||||
|
tENTRY = 300,
|
||||||
|
tENUM = 301,
|
||||||
|
tERRORSTATUST = 302,
|
||||||
|
tEXPLICITHANDLE = 303,
|
||||||
|
tEXTERN = 304,
|
||||||
|
tFLOAT = 305,
|
||||||
|
tHANDLE = 306,
|
||||||
|
tHANDLET = 307,
|
||||||
|
tHELPCONTEXT = 308,
|
||||||
|
tHELPFILE = 309,
|
||||||
|
tHELPSTRING = 310,
|
||||||
|
tHELPSTRINGCONTEXT = 311,
|
||||||
|
tHELPSTRINGDLL = 312,
|
||||||
|
tHIDDEN = 313,
|
||||||
|
tHYPER = 314,
|
||||||
|
tID = 315,
|
||||||
|
tIDEMPOTENT = 316,
|
||||||
|
tIIDIS = 317,
|
||||||
|
tIMPLICITHANDLE = 318,
|
||||||
|
tIMPORT = 319,
|
||||||
|
tIMPORTLIB = 320,
|
||||||
|
tIN = 321,
|
||||||
|
tINCLUDE = 322,
|
||||||
|
tINLINE = 323,
|
||||||
|
tINPUTSYNC = 324,
|
||||||
|
tINT = 325,
|
||||||
|
tINT64 = 326,
|
||||||
|
tINTERFACE = 327,
|
||||||
|
tLENGTHIS = 328,
|
||||||
|
tLIBRARY = 329,
|
||||||
|
tLOCAL = 330,
|
||||||
|
tLONG = 331,
|
||||||
|
tMETHODS = 332,
|
||||||
|
tMODULE = 333,
|
||||||
|
tNONCREATABLE = 334,
|
||||||
|
tOBJECT = 335,
|
||||||
|
tODL = 336,
|
||||||
|
tOLEAUTOMATION = 337,
|
||||||
|
tOPTIONAL = 338,
|
||||||
|
tOUT = 339,
|
||||||
|
tPOINTERDEFAULT = 340,
|
||||||
|
tPROPERTIES = 341,
|
||||||
|
tPROPGET = 342,
|
||||||
|
tPROPPUT = 343,
|
||||||
|
tPROPPUTREF = 344,
|
||||||
|
tPTR = 345,
|
||||||
|
tPUBLIC = 346,
|
||||||
|
tREADONLY = 347,
|
||||||
|
tREF = 348,
|
||||||
|
tRESTRICTED = 349,
|
||||||
|
tRETVAL = 350,
|
||||||
|
tSHORT = 351,
|
||||||
|
tSIGNED = 352,
|
||||||
|
tSINGLE = 353,
|
||||||
|
tSIZEIS = 354,
|
||||||
|
tSIZEOF = 355,
|
||||||
|
tSMALL = 356,
|
||||||
|
tSOURCE = 357,
|
||||||
|
tSTDCALL = 358,
|
||||||
|
tSTRING = 359,
|
||||||
|
tSTRUCT = 360,
|
||||||
|
tSWITCH = 361,
|
||||||
|
tSWITCHIS = 362,
|
||||||
|
tSWITCHTYPE = 363,
|
||||||
|
tTRANSMITAS = 364,
|
||||||
|
tTYPEDEF = 365,
|
||||||
|
tUNION = 366,
|
||||||
|
tUNIQUE = 367,
|
||||||
|
tUNSIGNED = 368,
|
||||||
|
tUUID = 369,
|
||||||
|
tV1ENUM = 370,
|
||||||
|
tVARARG = 371,
|
||||||
|
tVERSION = 372,
|
||||||
|
tVOID = 373,
|
||||||
|
tWCHAR = 374,
|
||||||
|
tWIREMARSHAL = 375,
|
||||||
|
tPOINTERTYPE = 376,
|
||||||
|
COND = 377,
|
||||||
|
CAST = 378,
|
||||||
|
PPTR = 379,
|
||||||
|
NEG = 380
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
#define aIDENTIFIER 258
|
||||||
|
#define aKNOWNTYPE 259
|
||||||
|
#define aNUM 260
|
||||||
|
#define aHEXNUM 261
|
||||||
|
#define aSTRING 262
|
||||||
|
#define aUUID 263
|
||||||
|
#define aEOF 264
|
||||||
|
#define SHL 265
|
||||||
|
#define SHR 266
|
||||||
|
#define tAGGREGATABLE 267
|
||||||
|
#define tALLOCATE 268
|
||||||
|
#define tAPPOBJECT 269
|
||||||
|
#define tARRAYS 270
|
||||||
|
#define tASYNC 271
|
||||||
|
#define tASYNCUUID 272
|
||||||
|
#define tAUTOHANDLE 273
|
||||||
|
#define tBINDABLE 274
|
||||||
|
#define tBOOLEAN 275
|
||||||
|
#define tBROADCAST 276
|
||||||
|
#define tBYTE 277
|
||||||
|
#define tBYTECOUNT 278
|
||||||
|
#define tCALLAS 279
|
||||||
|
#define tCALLBACK 280
|
||||||
|
#define tCASE 281
|
||||||
|
#define tCDECL 282
|
||||||
|
#define tCHAR 283
|
||||||
|
#define tCOCLASS 284
|
||||||
|
#define tCODE 285
|
||||||
|
#define tCOMMSTATUS 286
|
||||||
|
#define tCONST 287
|
||||||
|
#define tCONTEXTHANDLE 288
|
||||||
|
#define tCONTEXTHANDLENOSERIALIZE 289
|
||||||
|
#define tCONTEXTHANDLESERIALIZE 290
|
||||||
|
#define tCONTROL 291
|
||||||
|
#define tCPPQUOTE 292
|
||||||
|
#define tDEFAULT 293
|
||||||
|
#define tDEFAULTVALUE 294
|
||||||
|
#define tDISPINTERFACE 295
|
||||||
|
#define tDLLNAME 296
|
||||||
|
#define tDOUBLE 297
|
||||||
|
#define tDUAL 298
|
||||||
|
#define tENDPOINT 299
|
||||||
|
#define tENTRY 300
|
||||||
|
#define tENUM 301
|
||||||
|
#define tERRORSTATUST 302
|
||||||
|
#define tEXPLICITHANDLE 303
|
||||||
|
#define tEXTERN 304
|
||||||
|
#define tFLOAT 305
|
||||||
|
#define tHANDLE 306
|
||||||
|
#define tHANDLET 307
|
||||||
|
#define tHELPCONTEXT 308
|
||||||
|
#define tHELPFILE 309
|
||||||
|
#define tHELPSTRING 310
|
||||||
|
#define tHELPSTRINGCONTEXT 311
|
||||||
|
#define tHELPSTRINGDLL 312
|
||||||
|
#define tHIDDEN 313
|
||||||
|
#define tHYPER 314
|
||||||
|
#define tID 315
|
||||||
|
#define tIDEMPOTENT 316
|
||||||
|
#define tIIDIS 317
|
||||||
|
#define tIMPLICITHANDLE 318
|
||||||
|
#define tIMPORT 319
|
||||||
|
#define tIMPORTLIB 320
|
||||||
|
#define tIN 321
|
||||||
|
#define tINCLUDE 322
|
||||||
|
#define tINLINE 323
|
||||||
|
#define tINPUTSYNC 324
|
||||||
|
#define tINT 325
|
||||||
|
#define tINT64 326
|
||||||
|
#define tINTERFACE 327
|
||||||
|
#define tLENGTHIS 328
|
||||||
|
#define tLIBRARY 329
|
||||||
|
#define tLOCAL 330
|
||||||
|
#define tLONG 331
|
||||||
|
#define tMETHODS 332
|
||||||
|
#define tMODULE 333
|
||||||
|
#define tNONCREATABLE 334
|
||||||
|
#define tOBJECT 335
|
||||||
|
#define tODL 336
|
||||||
|
#define tOLEAUTOMATION 337
|
||||||
|
#define tOPTIONAL 338
|
||||||
|
#define tOUT 339
|
||||||
|
#define tPOINTERDEFAULT 340
|
||||||
|
#define tPROPERTIES 341
|
||||||
|
#define tPROPGET 342
|
||||||
|
#define tPROPPUT 343
|
||||||
|
#define tPROPPUTREF 344
|
||||||
|
#define tPTR 345
|
||||||
|
#define tPUBLIC 346
|
||||||
|
#define tREADONLY 347
|
||||||
|
#define tREF 348
|
||||||
|
#define tRESTRICTED 349
|
||||||
|
#define tRETVAL 350
|
||||||
|
#define tSHORT 351
|
||||||
|
#define tSIGNED 352
|
||||||
|
#define tSINGLE 353
|
||||||
|
#define tSIZEIS 354
|
||||||
|
#define tSIZEOF 355
|
||||||
|
#define tSMALL 356
|
||||||
|
#define tSOURCE 357
|
||||||
|
#define tSTDCALL 358
|
||||||
|
#define tSTRING 359
|
||||||
|
#define tSTRUCT 360
|
||||||
|
#define tSWITCH 361
|
||||||
|
#define tSWITCHIS 362
|
||||||
|
#define tSWITCHTYPE 363
|
||||||
|
#define tTRANSMITAS 364
|
||||||
|
#define tTYPEDEF 365
|
||||||
|
#define tUNION 366
|
||||||
|
#define tUNIQUE 367
|
||||||
|
#define tUNSIGNED 368
|
||||||
|
#define tUUID 369
|
||||||
|
#define tV1ENUM 370
|
||||||
|
#define tVARARG 371
|
||||||
|
#define tVERSION 372
|
||||||
|
#define tVOID 373
|
||||||
|
#define tWCHAR 374
|
||||||
|
#define tWIREMARSHAL 375
|
||||||
|
#define tPOINTERTYPE 376
|
||||||
|
#define COND 377
|
||||||
|
#define CAST 378
|
||||||
|
#define PPTR 379
|
||||||
|
#define NEG 380
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
|
||||||
|
#line 106 "parser.y"
|
||||||
|
typedef union YYSTYPE {
|
||||||
attr_t *attr;
|
attr_t *attr;
|
||||||
expr_t *expr;
|
expr_t *expr;
|
||||||
type_t *type;
|
type_t *type;
|
||||||
|
@ -14,135 +295,15 @@ typedef union {
|
||||||
char *str;
|
char *str;
|
||||||
UUID *uuid;
|
UUID *uuid;
|
||||||
unsigned int num;
|
unsigned int num;
|
||||||
} yystype;
|
} YYSTYPE;
|
||||||
# define YYSTYPE yystype
|
/* Line 1248 of yacc.c. */
|
||||||
|
#line 300 "y.tab.h"
|
||||||
|
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
||||||
|
# define YYSTYPE_IS_DECLARED 1
|
||||||
# define YYSTYPE_IS_TRIVIAL 1
|
# define YYSTYPE_IS_TRIVIAL 1
|
||||||
#endif
|
#endif
|
||||||
# define aIDENTIFIER 257
|
|
||||||
# define aKNOWNTYPE 258
|
|
||||||
# define aNUM 259
|
|
||||||
# define aHEXNUM 260
|
|
||||||
# define aSTRING 261
|
|
||||||
# define aUUID 262
|
|
||||||
# define aEOF 263
|
|
||||||
# define SHL 264
|
|
||||||
# define SHR 265
|
|
||||||
# define tAGGREGATABLE 266
|
|
||||||
# define tALLOCATE 267
|
|
||||||
# define tAPPOBJECT 268
|
|
||||||
# define tARRAYS 269
|
|
||||||
# define tASYNC 270
|
|
||||||
# define tASYNCUUID 271
|
|
||||||
# define tAUTOHANDLE 272
|
|
||||||
# define tBINDABLE 273
|
|
||||||
# define tBOOLEAN 274
|
|
||||||
# define tBROADCAST 275
|
|
||||||
# define tBYTE 276
|
|
||||||
# define tBYTECOUNT 277
|
|
||||||
# define tCALLAS 278
|
|
||||||
# define tCALLBACK 279
|
|
||||||
# define tCASE 280
|
|
||||||
# define tCDECL 281
|
|
||||||
# define tCHAR 282
|
|
||||||
# define tCOCLASS 283
|
|
||||||
# define tCODE 284
|
|
||||||
# define tCOMMSTATUS 285
|
|
||||||
# define tCONST 286
|
|
||||||
# define tCONTEXTHANDLE 287
|
|
||||||
# define tCONTEXTHANDLENOSERIALIZE 288
|
|
||||||
# define tCONTEXTHANDLESERIALIZE 289
|
|
||||||
# define tCONTROL 290
|
|
||||||
# define tCPPQUOTE 291
|
|
||||||
# define tDEFAULT 292
|
|
||||||
# define tDEFAULTVALUE 293
|
|
||||||
# define tDISPINTERFACE 294
|
|
||||||
# define tDLLNAME 295
|
|
||||||
# define tDOUBLE 296
|
|
||||||
# define tDUAL 297
|
|
||||||
# define tENDPOINT 298
|
|
||||||
# define tENTRY 299
|
|
||||||
# define tENUM 300
|
|
||||||
# define tERRORSTATUST 301
|
|
||||||
# define tEXPLICITHANDLE 302
|
|
||||||
# define tEXTERN 303
|
|
||||||
# define tFLOAT 304
|
|
||||||
# define tHANDLE 305
|
|
||||||
# define tHANDLET 306
|
|
||||||
# define tHELPCONTEXT 307
|
|
||||||
# define tHELPFILE 308
|
|
||||||
# define tHELPSTRING 309
|
|
||||||
# define tHELPSTRINGCONTEXT 310
|
|
||||||
# define tHELPSTRINGDLL 311
|
|
||||||
# define tHIDDEN 312
|
|
||||||
# define tHYPER 313
|
|
||||||
# define tID 314
|
|
||||||
# define tIDEMPOTENT 315
|
|
||||||
# define tIIDIS 316
|
|
||||||
# define tIMPLICITHANDLE 317
|
|
||||||
# define tIMPORT 318
|
|
||||||
# define tIMPORTLIB 319
|
|
||||||
# define tIN 320
|
|
||||||
# define tINCLUDE 321
|
|
||||||
# define tINLINE 322
|
|
||||||
# define tINPUTSYNC 323
|
|
||||||
# define tINT 324
|
|
||||||
# define tINT64 325
|
|
||||||
# define tINTERFACE 326
|
|
||||||
# define tLENGTHIS 327
|
|
||||||
# define tLIBRARY 328
|
|
||||||
# define tLOCAL 329
|
|
||||||
# define tLONG 330
|
|
||||||
# define tMETHODS 331
|
|
||||||
# define tMODULE 332
|
|
||||||
# define tNONCREATABLE 333
|
|
||||||
# define tOBJECT 334
|
|
||||||
# define tODL 335
|
|
||||||
# define tOLEAUTOMATION 336
|
|
||||||
# define tOPTIONAL 337
|
|
||||||
# define tOUT 338
|
|
||||||
# define tPOINTERDEFAULT 339
|
|
||||||
# define tPROPERTIES 340
|
|
||||||
# define tPROPGET 341
|
|
||||||
# define tPROPPUT 342
|
|
||||||
# define tPROPPUTREF 343
|
|
||||||
# define tPTR 344
|
|
||||||
# define tPUBLIC 345
|
|
||||||
# define tREADONLY 346
|
|
||||||
# define tREF 347
|
|
||||||
# define tRESTRICTED 348
|
|
||||||
# define tRETVAL 349
|
|
||||||
# define tSHORT 350
|
|
||||||
# define tSIGNED 351
|
|
||||||
# define tSINGLE 352
|
|
||||||
# define tSIZEIS 353
|
|
||||||
# define tSIZEOF 354
|
|
||||||
# define tSMALL 355
|
|
||||||
# define tSOURCE 356
|
|
||||||
# define tSTDCALL 357
|
|
||||||
# define tSTRING 358
|
|
||||||
# define tSTRUCT 359
|
|
||||||
# define tSWITCH 360
|
|
||||||
# define tSWITCHIS 361
|
|
||||||
# define tSWITCHTYPE 362
|
|
||||||
# define tTRANSMITAS 363
|
|
||||||
# define tTYPEDEF 364
|
|
||||||
# define tUNION 365
|
|
||||||
# define tUNIQUE 366
|
|
||||||
# define tUNSIGNED 367
|
|
||||||
# define tUUID 368
|
|
||||||
# define tV1ENUM 369
|
|
||||||
# define tVARARG 370
|
|
||||||
# define tVERSION 371
|
|
||||||
# define tVOID 372
|
|
||||||
# define tWCHAR 373
|
|
||||||
# define tWIREMARSHAL 374
|
|
||||||
# define tPOINTERTYPE 375
|
|
||||||
# define COND 376
|
|
||||||
# define CAST 377
|
|
||||||
# define PPTR 378
|
|
||||||
# define NEG 379
|
|
||||||
|
|
||||||
|
|
||||||
extern YYSTYPE yylval;
|
extern YYSTYPE yylval;
|
||||||
|
|
||||||
#endif /* not BISON_Y_TAB_H */
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue