|
|
Author: chromatic
Date: Mon Feb 4 12:01:38 2008
New Revision: 25510
Modified:
trunk/compilers/imcc/imcc.y
trunk/compilers/imcc/imcparser.c
Log:
[IMCC] Duplicate some strings in the parser so as not to free passed-in strings.
This adds a few leaks temporarily, but they're pluggable.
Modified: trunk/compilers/imcc/imcc.y
==============================================================================
--- trunk/compilers/imcc/imcc.y (original)
+++ trunk/compilers/imcc/imcc.y Mon Feb 4 12:01:38 2008
@@ -223,12 +223,8 @@
ascii = (*constant == '\'' || *constant == '"');
if (ascii) {
/* strip delimiters */
- const size_t len = strlen(constant);
- name = (char *)mem_sys_allocate(len);
- constant[len - 1] = '\0';
-
- strcpy(name, constant + 1);
- free(constant);
+ name = str_dup(constant + 1);
+ name[strlen(name) - 1] = '\0';
}
else {
name = constant;
@@ -252,6 +248,9 @@
r[1] = rhs;
rhs->pmc_type = type_enum;
+ if (ascii)
+ mem_sys_free(name);
+
return INS(interp, unit, "set_p_pc", "", r, 2, 0, 1);
}
@@ -383,10 +382,12 @@
{
/* name is a quoted sub name */
SymReg *r;
+ char *name_copy = str_dup(name + 1);
+ name_copy[strlen(name_copy) - 1] = '\0';
+
+ r = mk_sub_address(interp, name_copy);
+ mem_sys_free(name_copy);
- name[strlen(name) - 1] = '\0';
- r = mk_sub_address(interp, str_dup(name + 1));
- mem_sys_free(name);
return r;
}
@@ -507,9 +508,8 @@
static void
do_loadlib(PARROT_INTERP, NOTNULL(const char *lib))
{
- PMC *ignored;
STRING * const s = string_unescape_cstring(interp, lib + 1, '"', NULL);
- ignored = Parrot_load_lib(interp, s, NULL);
+ PMC *ignored = Parrot_load_lib(interp, s, NULL);
UNUSED(ignored);
Parrot_register_HLL_lib(interp, s);
}
@@ -647,8 +647,10 @@
hll_def: HLL STRINGC COMMA STRINGC
{
- STRING *hll_name = string_unescape_cstring(interp, $2 + 1, '"',
NULL);
- STRING *hll_lib = string_unescape_cstring(interp, $4 + 1, '"',
NULL);
+ STRING *hll_name = string_unescape_cstring(interp, str_dup($2 + 1),
+ '"', NULL);
+ STRING *hll_lib = string_unescape_cstring(interp, str_dup($4 + 1),
+ '"', NULL);
PMC *ignored;
CONTEXT(((Interp*)interp)->ctx)->current_HLL =
Parrot_register_HLL(interp, hll_name);
@@ -663,8 +665,10 @@
int built_in_type = 0;
int language_type = 0;
- STRING *built_in_name = string_unescape_cstring(interp, $2 + 1,
'"', NULL);
- STRING *language_name = string_unescape_cstring(interp, $4 + 1,
'"', NULL);
+ STRING *built_in_name = string_unescape_cstring(interp,
+ str_dup($2 + 1), '"', NULL);
+ STRING *language_name = string_unescape_cstring(interp,
+ str_dup($4 + 1), '"', NULL);
built_in_type = pmc_type(interp, built_in_name);
language_type = pmc_type(interp, language_name);
@@ -843,7 +847,7 @@
IMCC_INFO(interp)->cur_unit->is_vtable_method = 1; }
| VTABLE_METHOD '(' STRINGC ')'
{ $$ = 0;
- IMCC_INFO(interp)->cur_unit->vtable_name = strdup($3);
+ IMCC_INFO(interp)->cur_unit->vtable_name = str_dup($3);
IMCC_INFO(interp)->cur_unit->is_vtable_method = 1; }
;
@@ -874,7 +878,7 @@
r = mk_const(interp, $1, 'S');
else {
free($1),
- r = mk_const(interp, str_dup("PMC"), 'S');
+ r = mk_const(interp, "PMC", 'S');
}
$$ = r;
}
Modified: trunk/compilers/imcc/imcparser.c
==============================================================================
--- trunk/compilers/imcc/imcparser.c (original)
+++ trunk/compilers/imcc/imcparser.c Mon Feb 4 12:01:38 2008
@@ -1,3 +1,14 @@
+/* ex: set ro ft=c:
+ * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+ *
+ * This file is generated automatically from 'compilers/imcc/imcc.y'
+ * by tools/build/fixup_gen_file.pl.
+ *
+ * Any changes made here will be lost!
+ *
+ */
+/* HEADERIZER HFILE: none */
+/* HEADERIZER STOP */
/* A Bison parser, made by GNU Bison 2.3. */
/* Skeleton implementation for Bison's Yacc-like parsers in C
@@ -342,74 +353,34 @@
# define YYLTYPE_IS_TRIVIAL 0
#endif
-/*
-Copyright (C) 2001-2008, The Perl Foundation.
-$Id$
-
-=head1 NAME
-
-compilers/mcc/imcparser.c - XXX What does this do?
-src/string.c - Parrot Strings
-
-=head1 DESCRIPTION
-
-XXX Fill this in
-
-=head1 FUNCTIONS
-
-=over 4
-
-=cut
-
-*/
-
/* HEADERIZER HFILE: compilers/imcc/imc.h */
/* HEADERIZER BEGIN: static */
static void add_pcc_named_arg(PARROT_INTERP,
- ARGMOD(SymReg *cur_call),
- ARGIN(const char *name),
- ARGMOD(SymReg *value))
+ NOTNULL(SymReg *cur_call),
+ const char *name,
+ SymReg *value)
__attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3)
- __attribute__nonnull__(4)
- FUNC_MODIFIES(*cur_call)
- FUNC_MODIFIES(*value);
+ __attribute__nonnull__(2);
static void add_pcc_named_param(PARROT_INTERP,
- ARGMOD(SymReg *cur_call),
- ARGIN(const char *name),
- ARGMOD(SymReg *value))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3)
- __attribute__nonnull__(4)
- FUNC_MODIFIES(*cur_call)
- FUNC_MODIFIES(*value);
+ SymReg *cur_call,
+ const char *name,
+ SymReg *value)
+ __attribute__nonnull__(1);
static void add_pcc_named_result(PARROT_INTERP,
- ARGMOD(SymReg *cur_call),
- ARGIN(const char *name),
- ARGMOD(SymReg *value))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3)
- __attribute__nonnull__(4)
- FUNC_MODIFIES(*cur_call)
- FUNC_MODIFIES(*value);
+ SymReg *cur_call,
+ const char *name,
+ SymReg *value)
+ __attribute__nonnull__(1);
static void add_pcc_named_return(PARROT_INTERP,
- ARGMOD(SymReg *cur_call),
- ARGIN(const char *name),
- ARGMOD(SymReg *value))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3)
- __attribute__nonnull__(4)
- FUNC_MODIFIES(*cur_call)
- FUNC_MODIFIES(*value);
+ SymReg *cur_call,
+ const char *name,
+ SymReg *value)
+ __attribute__nonnull__(1);
static void begin_return_or_yield(PARROT_INTERP, int yield)
__attribute__nonnull__(1);
@@ -417,119 +388,74 @@
static void clear_state(PARROT_INTERP)
__attribute__nonnull__(1);
-static void do_loadlib(PARROT_INTERP, ARGIN(const char *lib))
+static void do_loadlib(PARROT_INTERP, NOTNULL(const char *lib))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
-static Instruction* func_ins(PARROT_INTERP,
- ARGMOD(IMC_Unit *unit),
- ARGIN(SymReg *lhs),
- ARGIN(const char *op),
- ARGMOD(SymReg **r),
+static Instruction* func_ins(
+ PARROT_INTERP,
+ IMC_Unit *unit,
+ SymReg *lhs,
+ const char *op,
+ NOTNULL(SymReg **r),
int n,
int keyv,
int emit)
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3)
- __attribute__nonnull__(4)
- __attribute__nonnull__(5)
- FUNC_MODIFIES(*unit)
- FUNC_MODIFIES(*r);
+ __attribute__nonnull__(5);
-PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
static Instruction * iINDEXFETCH(PARROT_INTERP,
- ARGMOD(IMC_Unit *unit),
- ARGIN(const SymReg *r0),
- ARGIN(const SymReg *r1),
- ARGIN(const SymReg *r2))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3)
- __attribute__nonnull__(4)
- __attribute__nonnull__(5)
- FUNC_MODIFIES(*unit);
+ IMC_Unit *unit,
+ SymReg *r0,
+ SymReg *r1,
+ SymReg *r2)
+ __attribute__nonnull__(1);
-PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
static Instruction * iINDEXSET(PARROT_INTERP,
- ARGMOD(IMC_Unit *unit),
- ARGIN(const SymReg *r0),
- ARGIN(const SymReg *r1),
- ARGIN(const SymReg *r2))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3)
- __attribute__nonnull__(4)
- __attribute__nonnull__(5)
- FUNC_MODIFIES(*unit);
+ IMC_Unit *unit,
+ SymReg *r0,
+ SymReg *r1,
+ SymReg *r2)
+ __attribute__nonnull__(1);
-PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
-static const char * inv_op(ARGIN(const char *op))
+static Instruction * iLABEL(PARROT_INTERP, IMC_Unit *unit, SymReg *r0)
__attribute__nonnull__(1);
-PARROT_IGNORABLE_RESULT
-PARROT_CANNOT_RETURN_NULL
+static const char * inv_op(const char *op);
static Instruction * iSUBROUTINE(PARROT_INTERP,
- ARGMOD(IMC_Unit *unit),
- ARGMOD(SymReg *r))
+ IMC_Unit *unit,
+ NOTNULL(SymReg *r))
__attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3)
- FUNC_MODIFIES(*unit)
- FUNC_MODIFIES(*r);
+ __attribute__nonnull__(3);
-PARROT_IGNORABLE_RESULT
-PARROT_CAN_RETURN_NULL
static Instruction * MK_I(PARROT_INTERP,
- ARGMOD(IMC_Unit *unit),
- ARGIN(const char *fmt),
+ IMC_Unit *unit,
+ NOTNULL(const char *fmt),
int n,
...)
__attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3)
- FUNC_MODIFIES(*unit);
+ __attribute__nonnull__(3);
PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
static Instruction* mk_pmc_const(PARROT_INTERP,
- ARGMOD(IMC_Unit *unit),
- ARGIN(const char *type),
- ARGMOD(SymReg *left),
- ARGMOD(char *constant))
+ IMC_Unit *unit,
+ NOTNULL(const char *type),
+ NOTNULL(SymReg *left),
+ NOTNULL(char *constant))
__attribute__nonnull__(1)
- __attribute__nonnull__(2)
__attribute__nonnull__(3)
__attribute__nonnull__(4)
- __attribute__nonnull__(5)
- FUNC_MODIFIES(*unit)
- FUNC_MODIFIES(*left)
- FUNC_MODIFIES(*constant);
+ __attribute__nonnull__(5);
-PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
-static SymReg * mk_sub_address_fromc(PARROT_INTERP, ARGIN(const char *name))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
+static SymReg * mk_sub_address_fromc(PARROT_INTERP, char *name)
+ __attribute__nonnull__(1);
-PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
-static SymReg * mk_sub_address_u(PARROT_INTERP, ARGIN(const char *name))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
+static SymReg * mk_sub_address_u(PARROT_INTERP, char *name)
+ __attribute__nonnull__(1);
-static void set_lexical(PARROT_INTERP,
- ARGMOD(SymReg *r),
- ARGIN(const char *name))
+static void set_lexical(PARROT_INTERP, NOTNULL(SymReg *r), char *name)
__attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3)
- FUNC_MODIFIES(*r);
+ __attribute__nonnull__(2);
/* HEADERIZER END: static */
@@ -550,32 +476,21 @@
/*
-
-=item C<static Instruction * MK_I>
-
-build and emitb instruction by INS
-
-fmt may contain:
-
- op %s, %s # comment
-
-or just
-
- op
-
-
-NOTE: Most usage of this function is with C<< IMCC_INFO(interp)->cur_unit >>,
-but there are some exceptions. Thus, we can't easily factorize that
-piece of code.
-
-=cut
-
+ * MK_I: build and emitb instruction by INS
+ *
+ * fmt may contain:
+ * op %s, %s # comment
+ * or just
+ * op
+ *
+ *
+ * NOTE: Most usage of this function is with
+ * IMCC_INFO(interp)->cur_unit, but there are some
+ * exceptions. Thus, we can't easily factorize that piece of
+ * code.
*/
-
-PARROT_IGNORABLE_RESULT
-PARROT_CAN_RETURN_NULL
static Instruction *
-MK_I(PARROT_INTERP, ARGMOD(IMC_Unit *unit), ARGIN(const char *fmt), int n, ...)
+MK_I(PARROT_INTERP, IMC_Unit *unit, NOTNULL(const char *fmt), int n, ...)
{
char opname[64];
char *p;
@@ -600,24 +515,14 @@
r[i] = va_arg(ap, SymReg *);
}
va_end(ap);
- return INS(interp, unit, opname, fmt, r, n, IMCC_INFO(interp)->keyvec, 1);
+ return INS(interp, unit, opname, fmt, r, n,
+ IMCC_INFO(interp)->keyvec, 1);
}
-/*
-
-=item C<static Instruction* mk_pmc_const>
-
-XXX document me
-
-=cut
-
-*/
-
PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
static Instruction*
-mk_pmc_const(PARROT_INTERP, ARGMOD(IMC_Unit *unit), ARGIN(const char *type),
- ARGMOD(SymReg *left), ARGMOD(char *constant))
+mk_pmc_const(PARROT_INTERP, IMC_Unit *unit, NOTNULL(const char *type),
+ NOTNULL(SymReg *left), NOTNULL(char *constant))
{
const int type_enum = atoi(type);
SymReg *rhs;
@@ -638,12 +543,8 @@
ascii = (*constant == '\'' || *constant == '"');
if (ascii) {
/* strip delimiters */
- const size_t len = strlen(constant);
- name = (char *)mem_sys_allocate(len);
- constant[len - 1] = '\0';
-
- strcpy(name, constant + 1);
- free(constant);
+ name = str_dup(constant + 1);
+ name[strlen(name) - 1] = '\0';
}
else {
name = constant;
@@ -667,22 +568,16 @@
r[1] = rhs;
rhs->pmc_type = type_enum;
+ if (ascii)
+ mem_sys_free(name);
+
return INS(interp, unit, "set_p_pc", "", r, 2, 0, 1);
}
-/*
-
-=item C<static Instruction* func_ins>
-
-=cut
-
-*/
-
PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
static Instruction*
-func_ins(PARROT_INTERP, ARGMOD(IMC_Unit *unit), ARGIN(SymReg *lhs),
ARGIN(const char *op),
- ARGMOD(SymReg **r), int n, int keyv, int emit)
+func_ins(PARROT_INTERP, IMC_Unit *unit, SymReg *lhs, const char *op,
+ SymReg ** r, int n, int keyv, int emit)
{
int i;
/* shift regs up by 1 */
@@ -693,14 +588,11 @@
keyv <<= 1;
return INS(interp, unit, op, "", r, n+1, keyv, emit);
}
-
/*
-
-=item C<static void clear_state>
-
-=cut
-
-*/
+ * special instructions
+ *
+ * labels and such
+ */
static void
clear_state(PARROT_INTERP)
@@ -709,20 +601,8 @@
IMCC_INFO(interp) -> keyvec = 0;
}
-/*
-
-=item C<Instruction * INS_LABEL>
-
-XXX Document me.
-
-=cut
-
-*/
-
-PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
Instruction *
-INS_LABEL(PARROT_INTERP, ARGMOD_NULLOK(IMC_Unit *unit), ARGIN(SymReg *r0), int
emit)
+INS_LABEL(PARROT_INTERP, IMC_Unit *unit, SymReg *r0, int emit)
{
Instruction * const ins = _mk_instruction("", "%s:", 1, &r0, 0);
@@ -735,16 +615,6 @@
return ins;
}
-/*
-
-=item C<>
-
-XXX Document me.
-
-=cut
-
-*/
-
static Instruction * iLABEL(PARROT_INTERP, IMC_Unit *unit, SymReg *r0) {
Instruction * const i = INS_LABEL(interp, unit, r0, 1);
i->line = IMCC_INFO(interp)->line;
@@ -753,22 +623,8 @@
return i;
}
-
-/*
-
-=item C<static Instruction * iSUBROUTINE>
-
-XXX Document me.
-
-=cut
-
-*/
-
-PARROT_IGNORABLE_RESULT
-PARROT_CANNOT_RETURN_NULL
static Instruction *
-iSUBROUTINE(PARROT_INTERP, ARGMOD(IMC_Unit *unit), ARGMOD(SymReg *r))
-{
+iSUBROUTINE(PARROT_INTERP, IMC_Unit *unit, NOTNULL(SymReg *r)) {
Instruction * const i =iLABEL(interp, unit, r);
r->type = (r->type & VT_ENCODED) ? VT_PCC_SUB|VT_ENCODED : VT_PCC_SUB;
@@ -782,26 +638,13 @@
}
/*
-
-=item C<static Instruction * iINDEXFETCH>
-
-XXX Document me.
-
-substr or X = P[key]
-
-=cut
-
-*/
-
-
-PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
+ * substr or X = P[key]
+ */
static Instruction *
-iINDEXFETCH(PARROT_INTERP, ARGMOD(IMC_Unit *unit), ARGIN(const SymReg *r0),
- ARGIN(const SymReg *r1), ARGIN(const SymReg *r2))
+iINDEXFETCH(PARROT_INTERP, IMC_Unit *unit, SymReg *r0, SymReg *r1, SymReg *r2)
{
if (r0->set == 'S' && r1->set == 'S' && r2->set == 'I') {
- SymReg * const r3 = mk_const(interp, "1", 'I');
+ SymReg * const r3 = mk_const(interp, str_dup("1"), 'I');
return MK_I(interp, unit, "substr %s, %s, %s, 1", 4, r0, r1, r2, r3);
}
@@ -810,25 +653,15 @@
}
/*
+ * substr or P[key] = X
+ */
-=item C<static Instruction * iINDEXSET>
-
-XXX Document me.
-
-substr or P[key] = X
-
-=cut
-
-*/
-
-PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
static Instruction *
-iINDEXSET(PARROT_INTERP, ARGMOD(IMC_Unit *unit), ARGIN(const SymReg *r0),
- ARGIN(const SymReg *r1), ARGIN(const SymReg *r2))
+iINDEXSET(PARROT_INTERP, IMC_Unit * unit,
+ SymReg * r0, SymReg * r1, SymReg * r2)
{
if (r0->set == 'S' && r1->set == 'I' && r2->set == 'S') {
- SymReg * const r3 = mk_const(interp, "1", 'I');
+ SymReg * r3 = mk_const(interp, str_dup("1"), 'I');
MK_I(interp, unit, "substr %s, %s, %s, %s", 4, r0, r1, r3, r2);
}
else if (r0->set == 'P') {
@@ -839,42 +672,15 @@
IMCC_fataly(interp, E_SyntaxError,
"unsupported indexed set op\n");
}
- return NULL;
+ return 0;
}
-
-/*
-
-=item C<static const char * inv_op>
-
-XXX Document me.
-
-=cut
-
-*/
-
-PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
static const char *
-inv_op(ARGIN(const char *op)) {
+inv_op(const char *op) {
int n;
return get_neg_op(op, &n);
}
-
-
-/*
-
-=item C<Instruction * IMCC_create_itcall_label>
-
-XXX Document me.
-
-=cut
-
-*/
-
-PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
Instruction *
IMCC_create_itcall_label(PARROT_INTERP)
{
@@ -883,7 +689,7 @@
Instruction *i;
sprintf(name, "%cpcc_sub_call_%d", IMCC_INTERNAL_CHAR,
IMCC_INFO(interp)->cnr++);
- r = mk_pcc_sub(interp, name, 0);
+ r = mk_pcc_sub(interp, str_dup(name), 0);
i = iLABEL(interp, IMCC_INFO(interp)->cur_unit, r);
IMCC_INFO(interp)->cur_call = r;
i->type = ITCALL | ITPCCSUB;
@@ -891,48 +697,22 @@
}
-
-/*
-
-=item C<static SymReg * mk_sub_address_fromc>
-
-XXX Document me.
-
-=cut
-
-*/
-
-PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
static SymReg *
-mk_sub_address_fromc(PARROT_INTERP, ARGIN(const char *name))
+mk_sub_address_fromc(PARROT_INTERP, char * name)
{
/* name is a quoted sub name */
SymReg *r;
+ char *name_copy = str_dup(name + 1);
+ name_copy[strlen(name_copy) - 1] = '\0';
- char *unquoted = str_dup(name+1);
- unquoted[strlen(unquoted) - 1] = '\0';
+ r = mk_sub_address(interp, name_copy);
+ mem_sys_free(name_copy);
- r = mk_sub_address(interp, unquoted);
- mem_sys_free(unquoted);
return r;
}
-
-/*
-
-=item C<static SymReg * mk_sub_address_u>
-
-XXX Document me.
-
-=cut
-
-*/
-
-PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
static SymReg *
-mk_sub_address_u(PARROT_INTERP, ARGIN(const char *name))
+mk_sub_address_u(PARROT_INTERP, char * name)
{
SymReg * const r = mk_sub_address(interp, name);
r->type |= VT_ENCODED;
@@ -940,18 +720,8 @@
return r;
}
-
-/*
-
-=item C<void IMCC_itcall_sub>
-
-XXX Document me.
-
-=cut
-
-*/
void
-IMCC_itcall_sub(PARROT_INTERP, ARGIN(SymReg *sub))
+IMCC_itcall_sub(PARROT_INTERP, SymReg *sub)
{
IMCC_INFO(interp)->cur_call->pcc_sub->sub = sub;
if (IMCC_INFO(interp)->cur_obj) {
@@ -966,17 +736,6 @@
IMCC_INFO(interp)->cur_unit->instructions->r[0]->pcc_sub->calls_a_sub
|= 1;
}
-
-/*
-
-=item C<static void begin_return_or_yield>
-
-XXX Document me.
-
-=cut
-
-*/
-
static void
begin_return_or_yield(PARROT_INTERP, int yield)
{
@@ -991,26 +750,16 @@
ins->r[0]->pcc_sub->calls_a_sub = 1 | ITPCCYIELD;
sprintf(name, yield ? "%cpcc_sub_yield_%d" : "%cpcc_sub_ret_%d",
IMCC_INTERNAL_CHAR, IMCC_INFO(interp)->cnr++);
- interp->imc_info->sr_return = mk_pcc_sub(interp, name, 0);
+ interp->imc_info->sr_return = mk_pcc_sub(interp, str_dup(name), 0);
i = iLABEL(interp, IMCC_INFO(interp)->cur_unit,
interp->imc_info->sr_return);
i->type = yield ? ITPCCSUB | ITLABEL | ITPCCYIELD : ITPCCSUB | ITLABEL ;
interp->imc_info->asm_state = yield ? AsmInYield : AsmInReturn;
}
-/*
-
-=item C<static void set_lexical>
-
-XXX Document me.
-
-=cut
-
-*/
-
static void
-set_lexical(PARROT_INTERP, ARGMOD(SymReg *r), ARGIN(const char *name))
+set_lexical(PARROT_INTERP, NOTNULL(SymReg *r), char *name)
{
- SymReg * const n = mk_const(interp, name, 'S');
+ SymReg *n = mk_const(interp, name, 'S');
r->usage |= U_LEXICAL;
@@ -1023,41 +772,20 @@
r->reg = n;
}
-
-/*
-
-=item C<static void add_pcc_named_arg>
-
-XXX Document me.
-
-=cut
-
-*/
-
static void
-add_pcc_named_arg(PARROT_INTERP, ARGMOD(SymReg *cur_call), ARGIN(const char
*name),
- ARGMOD(SymReg *value))
+add_pcc_named_arg(PARROT_INTERP, NOTNULL(SymReg *cur_call), const char *name,
+ SymReg *value)
{
- SymReg * const r = mk_const(interp, name, 'S');
+ SymReg *r = mk_const(interp, name, 'S');
r->type |= VT_NAMED;
add_pcc_arg(cur_call, r);
add_pcc_arg(cur_call, value);
}
-/*
-
-=item C<static void add_pcc_named_result>
-
-XXX Document me.
-
-=cut
-
-*/
-
static void
-add_pcc_named_result(PARROT_INTERP, ARGMOD(SymReg *cur_call), ARGIN(const char
*name),
- ARGMOD(SymReg *value))
+add_pcc_named_result(PARROT_INTERP, SymReg *cur_call, const char *name,
+ SymReg *value)
{
SymReg * const r = mk_const(interp, name, 'S');
r->type |= VT_NAMED;
@@ -1066,19 +794,9 @@
add_pcc_result(cur_call, value);
}
-/*
-
-=item C<static void add_pcc_named_param>
-
-XXX Document me.
-
-=cut
-
-*/
-
static void
-add_pcc_named_param(PARROT_INTERP, ARGMOD(SymReg *cur_call), ARGIN(const char
*name),
- ARGMOD(SymReg *value))
+add_pcc_named_param(PARROT_INTERP, SymReg *cur_call, const char *name,
+ SymReg *value)
{
SymReg * const r = mk_const(interp, name, 'S');
r->type |= VT_NAMED;
@@ -1087,19 +805,9 @@
add_pcc_param(cur_call, value);
}
-/*
-
-=item C<static void add_pcc_named_return>
-
-XXX document me
-
-=cut
-
-*/
-
static void
-add_pcc_named_return(PARROT_INTERP, ARGMOD(SymReg *cur_call), ARGIN(const char
*name),
- ARGMOD(SymReg *value))
+add_pcc_named_return(PARROT_INTERP, SymReg *cur_call, const char *name,
+ SymReg *value)
{
SymReg * const r = mk_const(interp, name, 'S');
r->type |= VT_NAMED;
@@ -1108,18 +816,8 @@
add_pcc_return(cur_call, value);
}
-/*
-
-=item c<do_loadlib>
-
-xxx document me
-
-=cut
-
-*/
-
static void
-adv_named_set(PARROT_INTERP, ARGIN(char *name)) {
+adv_named_set(PARROT_INTERP, char *name) {
if (IMCC_INFO(interp)->adv_named_id) {
IMCC_fataly(interp, E_SyntaxError,
"Named parameter with more than one name.\n");
@@ -1127,22 +825,11 @@
IMCC_INFO(interp)->adv_named_id = name;
}
-/*
-
-=item C<static void do_loadlib>
-
-XXX document me
-
-=cut
-
-*/
-
static void
-do_loadlib(PARROT_INTERP, ARGIN(const char *lib))
+do_loadlib(PARROT_INTERP, NOTNULL(const char *lib))
{
- PMC *ignored;
STRING * const s = string_unescape_cstring(interp, lib + 1, '"', NULL);
- ignored = Parrot_load_lib(interp, s, NULL);
+ PMC *ignored = Parrot_load_lib(interp, s, NULL);
UNUSED(ignored);
Parrot_register_HLL_lib(interp, s);
}
@@ -1617,39 +1304,39 @@
static const yytype_uint16 yyrline[] =
{
0, 613, 613, 617, 618, 622, 623, 624, 627, 630,
- 631, 632, 635, 636, 637, 640, 648, 661, 681, 681,
- 691, 691, 695, 696, 700, 701, 705, 706, 707, 708,
- 709, 710, 711, 714, 714, 721, 720, 731, 733, 738,
- 742, 746, 746, 756, 758, 762, 777, 778, 783, 787,
- 790, 782, 796, 797, 798, 809, 809, 813, 818, 829,
- 832, 835, 840, 844, 851, 852, 853, 857, 858, 859,
- 860, 861, 871, 881, 884, 886, 891, 890, 923, 924,
- 928, 929, 934, 935, 939, 940, 944, 945, 946, 947,
- 948, 949, 950, 951, 952, 953, 954, 958, 963, 965,
- 970, 972, 974, 978, 986, 987, 991, 996, 997, 1001,
- 1002, 1002, 1017, 1018, 1022, 1023, 1024, 1025, 1026, 1027,
- 1033, 1032, 1037, 1043, 1042, 1050, 1051, 1054, 1060, 1065,
- 1064, 1074, 1075, 1079, 1080, 1087, 1089, 1096, 1102, 1103,
- 1115, 1119, 1121, 1122, 1123, 1127, 1128, 1132, 1133, 1137,
- 1145, 1147, 1156, 1163, 1172, 1182, 1183, 1188, 1189, 1190,
- 1191, 1192, 1192, 1209, 1213, 1213, 1221, 1222, 1222, 1229,
- 1233, 1234, 1240, 1242, 1243, 1244, 1245, 1246, 1250, 1251,
- 1252, 1253, 1254, 1258, 1269, 1271, 1273, 1275, 1277, 1279,
- 1281, 1283, 1285, 1287, 1289, 1291, 1293, 1296, 1298, 1302,
- 1304, 1306, 1309, 1316, 1315, 1324, 1325, 1326, 1327, 1332,
- 1333, 1334, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345,
- 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355,
- 1356, 1357, 1358, 1359, 1360, 1364, 1364, 1372, 1377, 1378,
- 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388,
- 1389, 1394, 1403, 1404, 1405, 1406, 1411, 1412, 1413, 1419,
- 1418, 1428, 1429, 1436, 1443, 1445, 1449, 1453, 1454, 1458,
- 1459, 1460, 1463, 1467, 1474, 1476, 1483, 1484, 1488, 1489,
- 1493, 1495, 1497, 1502, 1504, 1506, 1511, 1512, 1516, 1517,
- 1518, 1519, 1520, 1521, 1525, 1526, 1530, 1531, 1535, 1536,
- 1540, 1541, 1548, 1555, 1556, 1557, 1561, 1562, 1566, 1567,
- 1571, 1572, 1576, 1577, 1580, 1580, 1587, 1587, 1595, 1596,
- 1599, 1599, 1605, 1610, 1615, 1616, 1620, 1621, 1622, 1623,
- 1624, 1628, 1629, 1630, 1631, 1635, 1636
+ 631, 632, 635, 636, 637, 640, 648, 663, 685, 685,
+ 695, 695, 699, 700, 704, 705, 709, 710, 711, 712,
+ 713, 714, 715, 718, 718, 725, 724, 735, 737, 742,
+ 746, 750, 750, 760, 762, 766, 781, 782, 787, 791,
+ 794, 786, 800, 801, 802, 813, 813, 817, 822, 833,
+ 836, 839, 844, 848, 855, 856, 857, 861, 862, 863,
+ 864, 865, 875, 885, 888, 890, 895, 894, 927, 928,
+ 932, 933, 938, 939, 943, 944, 948, 949, 950, 951,
+ 952, 953, 954, 955, 956, 957, 958, 962, 967, 969,
+ 974, 976, 978, 982, 990, 991, 995, 1000, 1001, 1005,
+ 1006, 1006, 1021, 1022, 1026, 1027, 1028, 1029, 1030, 1031,
+ 1037, 1036, 1041, 1047, 1046, 1054, 1055, 1058, 1064, 1069,
+ 1068, 1078, 1079, 1083, 1084, 1091, 1093, 1100, 1106, 1107,
+ 1119, 1123, 1125, 1126, 1127, 1131, 1132, 1136, 1137, 1141,
+ 1149, 1151, 1160, 1167, 1176, 1186, 1187, 1192, 1193, 1194,
+ 1195, 1196, 1196, 1213, 1217, 1217, 1225, 1226, 1226, 1233,
+ 1237, 1238, 1244, 1246, 1247, 1248, 1249, 1250, 1254, 1255,
+ 1256, 1257, 1258, 1262, 1273, 1275, 1277, 1279, 1281, 1283,
+ 1285, 1287, 1289, 1291, 1293, 1295, 1297, 1300, 1302, 1306,
+ 1308, 1310, 1313, 1320, 1319, 1328, 1329, 1330, 1331, 1336,
+ 1337, 1338, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349,
+ 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359,
+ 1360, 1361, 1362, 1363, 1364, 1368, 1368, 1376, 1381, 1382,
+ 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392,
+ 1393, 1398, 1407, 1408, 1409, 1410, 1415, 1416, 1417, 1423,
+ 1422, 1432, 1433, 1440, 1447, 1449, 1453, 1457, 1458, 1462,
+ 1463, 1464, 1467, 1471, 1478, 1480, 1487, 1488, 1492, 1493,
+ 1497, 1499, 1501, 1506, 1508, 1510, 1515, 1516, 1520, 1521,
+ 1522, 1523, 1524, 1525, 1529, 1530, 1534, 1535, 1539, 1540,
+ 1544, 1545, 1552, 1559, 1560, 1561, 1565, 1566, 1570, 1571,
+ 1575, 1576, 1580, 1581, 1584, 1584, 1591, 1591, 1599, 1600,
+ 1603, 1603, 1609, 1614, 1619, 1620, 1624, 1625, 1626, 1627,
+ 1628, 1632, 1633, 1634, 1635, 1639, 1640
};
#endif
@@ -3000,61 +2687,61 @@
{
case 2:
#line 613 "compilers/imcc/imcc.y"
- { if (yynerrs) YYABORT; (yyval.i) = 0; ;}
+ { if (yynerrs) YYABORT; (yyval.i) = 0; }
break;
case 5:
#line 622 "compilers/imcc/imcc.y"
- { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
+ { (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 6:
#line 623 "compilers/imcc/imcc.y"
- { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
+ { (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 7:
#line 624 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i);
imc_close_unit(interp, IMCC_INFO(interp)->cur_unit);
- IMCC_INFO(interp)->cur_unit = 0; ;}
+ IMCC_INFO(interp)->cur_unit = 0; }
break;
case 8:
#line 627 "compilers/imcc/imcc.y"
{ (yyval.i) = (yyvsp[(1) - (1)].i);
imc_close_unit(interp, IMCC_INFO(interp)->cur_unit);
- IMCC_INFO(interp)->cur_unit = 0; ;}
+ IMCC_INFO(interp)->cur_unit = 0; }
break;
case 9:
#line 630 "compilers/imcc/imcc.y"
- { (yyval.i) = 0; ;}
+ { (yyval.i) = 0; }
break;
case 10:
#line 631 "compilers/imcc/imcc.y"
- { (yyval.i) = 0; ;}
+ { (yyval.i) = 0; }
break;
case 11:
#line 632 "compilers/imcc/imcc.y"
- { (yyval.i) = 0; ;}
+ { (yyval.i) = 0; }
break;
case 12:
#line 635 "compilers/imcc/imcc.y"
- { (yyval.i) = 0; ;}
+ { (yyval.i) = 0; }
break;
case 13:
#line 636 "compilers/imcc/imcc.y"
- { (yyval.i) = 0; ;}
+ { (yyval.i) = 0; }
break;
case 14:
#line 637 "compilers/imcc/imcc.y"
- { (yyval.i) = 0; do_loadlib(interp, (yyvsp[(2) - (3)].s)); ;}
+ { (yyval.i) = 0; do_loadlib(interp, (yyvsp[(2) - (3)].s)); }
break;
case 15:
@@ -3063,14 +2750,16 @@
IMCC_INFO(interp)->state->pragmas |= PR_N_OPERATORS;
else
IMCC_INFO(interp)->state->pragmas &= ~PR_N_OPERATORS;
- ;}
+ }
break;
case 16:
#line 649 "compilers/imcc/imcc.y"
{
- STRING *hll_name = string_unescape_cstring(interp, (yyvsp[(2) -
(4)].s) + 1, '"', NULL);
- STRING *hll_lib = string_unescape_cstring(interp, (yyvsp[(4) -
(4)].s) + 1, '"', NULL);
+ STRING *hll_name = string_unescape_cstring(interp,
str_dup((yyvsp[(2) - (4)].s) + 1),
+ '"', NULL);
+ STRING *hll_lib = string_unescape_cstring(interp,
str_dup((yyvsp[(4) - (4)].s) + 1),
+ '"', NULL);
PMC *ignored;
CONTEXT(((Interp*)interp)->ctx)->current_HLL =
Parrot_register_HLL(interp, hll_name);
@@ -3079,17 +2768,19 @@
Parrot_register_HLL_lib(interp, hll_lib);
IMCC_INFO(interp)->cur_namespace = NULL;
(yyval.t) = 0;
- ;}
+ }
break;
case 17:
-#line 662 "compilers/imcc/imcc.y"
+#line 664 "compilers/imcc/imcc.y"
{
int built_in_type = 0;
int language_type = 0;
- STRING *built_in_name = string_unescape_cstring(interp, (yyvsp[(2)
- (4)].s) + 1, '"', NULL);
- STRING *language_name = string_unescape_cstring(interp, (yyvsp[(4)
- (4)].s) + 1, '"', NULL);
+ STRING *built_in_name = string_unescape_cstring(interp,
+ str_dup((yyvsp[(2) - (4)].s) + 1), '"', NULL);
+ STRING *language_name = string_unescape_cstring(interp,
+ str_dup((yyvsp[(4) - (4)].s) + 1), '"', NULL);
built_in_type = pmc_type(interp, built_in_name);
language_type = pmc_type(interp, language_name);
@@ -3099,124 +2790,124 @@
Parrot_register_HLL_type(interp,
CONTEXT(((Interp *)interp)->ctx)->current_HLL, built_in_type,
language_type);
(yyval.t) = 0;
- ;}
+ }
break;
case 18:
-#line 681 "compilers/imcc/imcc.y"
- { is_def=1; ;}
+#line 685 "compilers/imcc/imcc.y"
+ { is_def=1; }
break;
case 19:
-#line 682 "compilers/imcc/imcc.y"
+#line 686 "compilers/imcc/imcc.y"
{
SymReg *ignored;
ignored = mk_const_ident(interp, (yyvsp[(4) - (6)].s),
(yyvsp[(3) - (6)].t), (yyvsp[(6) - (6)].sr), 1);
UNUSED(ignored);
is_def=0;
- ;}
+ }
break;
case 20:
-#line 691 "compilers/imcc/imcc.y"
- { is_def=1; ;}
+#line 695 "compilers/imcc/imcc.y"
+ { is_def=1; }
break;
case 21:
-#line 692 "compilers/imcc/imcc.y"
- { (yyval.i) = mk_pmc_const(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3)
- (6)].s), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].s)); is_def=0; ;}
+#line 696 "compilers/imcc/imcc.y"
+ { (yyval.i) = mk_pmc_const(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3)
- (6)].s), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].s)); is_def=0; }
break;
case 26:
-#line 705 "compilers/imcc/imcc.y"
- { (yyval.i) = 0; ;}
+#line 709 "compilers/imcc/imcc.y"
+ { (yyval.i) = 0; }
break;
case 27:
-#line 706 "compilers/imcc/imcc.y"
- { (yyval.i) = 0; ;}
+#line 710 "compilers/imcc/imcc.y"
+ { (yyval.i) = 0; }
break;
case 28:
-#line 707 "compilers/imcc/imcc.y"
- { (yyval.i) = 0; ;}
+#line 711 "compilers/imcc/imcc.y"
+ { (yyval.i) = 0; }
break;
case 29:
-#line 708 "compilers/imcc/imcc.y"
- { (yyval.i) = 0; ;}
+#line 712 "compilers/imcc/imcc.y"
+ { (yyval.i) = 0; }
break;
case 30:
-#line 709 "compilers/imcc/imcc.y"
- { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
+#line 713 "compilers/imcc/imcc.y"
+ { (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 33:
-#line 714 "compilers/imcc/imcc.y"
- { clear_state(interp); ;}
+#line 718 "compilers/imcc/imcc.y"
+ { clear_state(interp); }
break;
case 34:
-#line 716 "compilers/imcc/imcc.y"
+#line 720 "compilers/imcc/imcc.y"
{ (yyval.i) = INS(interp, IMCC_INFO(interp)->cur_unit,
(yyvsp[(2) - (3)].s), 0, IMCC_INFO(interp)->regs,
IMCC_INFO(interp)->nargs, IMCC_INFO(interp) ->
keyvec, 1);
- free((yyvsp[(2) - (3)].s)); ;}
+ free((yyvsp[(2) - (3)].s)); }
break;
case 35:
-#line 721 "compilers/imcc/imcc.y"
+#line 725 "compilers/imcc/imcc.y"
{
imc_close_unit(interp, IMCC_INFO(interp)->cur_unit);
IMCC_INFO(interp)->cur_unit = imc_open_unit(interp,
IMC_PASM);
- ;}
+ }
break;
case 36:
-#line 726 "compilers/imcc/imcc.y"
+#line 730 "compilers/imcc/imcc.y"
{
(yyval.i) = iSUBROUTINE(interp,
IMCC_INFO(interp)->cur_unit,
mk_sub_label(interp, (yyvsp[(4) - (4)].s)));
IMCC_INFO(interp)->cur_call->pcc_sub->pragma = (yyvsp[(3)
- (4)].t);
- ;}
+ }
break;
case 37:
-#line 732 "compilers/imcc/imcc.y"
- { (yyval.i) =MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1,
(yyvsp[(2) - (2)].sr)); ;}
+#line 736 "compilers/imcc/imcc.y"
+ { (yyval.i) =MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1,
(yyvsp[(2) - (2)].sr)); }
break;
case 38:
-#line 734 "compilers/imcc/imcc.y"
+#line 738 "compilers/imcc/imcc.y"
{
SymReg *r = mk_pasm_reg(interp, (yyvsp[(4) - (4)].s));
set_lexical(interp, r, (yyvsp[(2) - (4)].s)); (yyval.i)
= 0;
- ;}
+ }
break;
case 39:
-#line 738 "compilers/imcc/imcc.y"
- { (yyval.i) = 0;;}
+#line 742 "compilers/imcc/imcc.y"
+ { (yyval.i) = 0;}
break;
case 41:
-#line 746 "compilers/imcc/imcc.y"
- { IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PASM); ;}
+#line 750 "compilers/imcc/imcc.y"
+ { IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PASM); }
break;
case 42:
-#line 748 "compilers/imcc/imcc.y"
+#line 752 "compilers/imcc/imcc.y"
{ /*
if (optimizer_level & OPT_PASM)
imc_compile_unit(interp, IMCC_INFO(interp)->cur_unit);
emit_flush(interp);
*/
- (yyval.i)=0; ;}
+ (yyval.i)=0; }
break;
case 45:
-#line 763 "compilers/imcc/imcc.y"
+#line 767 "compilers/imcc/imcc.y"
{
int re_open = 0;
(yyval.i) = 0;
@@ -3227,55 +2918,55 @@
IMCC_INFO(interp)->cur_namespace = (yyvsp[(2) - (3)].sr);
if (re_open)
IMCC_INFO(interp)->cur_unit = imc_open_unit(interp,
IMC_PASM);
- ;}
+ }
break;
case 46:
-#line 777 "compilers/imcc/imcc.y"
- { (yyval.sr) = (yyvsp[(2) - (3)].sr); ;}
+#line 781 "compilers/imcc/imcc.y"
+ { (yyval.sr) = (yyvsp[(2) - (3)].sr); }
break;
case 47:
-#line 778 "compilers/imcc/imcc.y"
- { (yyval.sr) = NULL; ;}
+#line 782 "compilers/imcc/imcc.y"
+ { (yyval.sr) = NULL; }
break;
case 48:
-#line 783 "compilers/imcc/imcc.y"
+#line 787 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp)->cur_unit = imc_open_unit(interp, IMC_PCCSUB);
- ;}
+ }
break;
case 49:
-#line 787 "compilers/imcc/imcc.y"
+#line 791 "compilers/imcc/imcc.y"
{
iSUBROUTINE(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) -
(3)].sr));
- ;}
+ }
break;
case 50:
-#line 790 "compilers/imcc/imcc.y"
- { IMCC_INFO(interp)->cur_call->pcc_sub->pragma = (yyvsp[(5) - (6)].t); ;}
+#line 794 "compilers/imcc/imcc.y"
+ { IMCC_INFO(interp)->cur_call->pcc_sub->pragma = (yyvsp[(5) - (6)].t); }
break;
case 51:
-#line 792 "compilers/imcc/imcc.y"
- { (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; ;}
+#line 796 "compilers/imcc/imcc.y"
+ { (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; }
break;
case 52:
-#line 796 "compilers/imcc/imcc.y"
- { (yyval.sr) = 0; ;}
+#line 800 "compilers/imcc/imcc.y"
+ { (yyval.sr) = 0; }
break;
case 53:
-#line 797 "compilers/imcc/imcc.y"
- { (yyval.sr) = 0; ;}
+#line 801 "compilers/imcc/imcc.y"
+ { (yyval.sr) = 0; }
break;
case 54:
-#line 798 "compilers/imcc/imcc.y"
+#line 802 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->adv_named_id) {
add_pcc_named_param(interp, IMCC_INFO(interp)->cur_call,
@@ -3283,121 +2974,121 @@
IMCC_INFO(interp)->adv_named_id = NULL;
}
else add_pcc_param(IMCC_INFO(interp)->cur_call, (yyvsp[(2) -
(3)].sr));
- ;}
+ }
break;
case 55:
-#line 809 "compilers/imcc/imcc.y"
- { is_def=1; ;}
+#line 813 "compilers/imcc/imcc.y"
+ { is_def=1; }
break;
case 56:
-#line 809 "compilers/imcc/imcc.y"
- { (yyval.sr) = (yyvsp[(3) - (3)].sr); is_def=0; ;}
+#line 813 "compilers/imcc/imcc.y"
+ { (yyval.sr) = (yyvsp[(3) - (3)].sr); is_def=0; }
break;
case 57:
-#line 813 "compilers/imcc/imcc.y"
+#line 817 "compilers/imcc/imcc.y"
{ if ((yyvsp[(3) - (3)].t) & VT_UNIQUE_REG)
(yyval.sr) = mk_ident_ur(interp,
(yyvsp[(2) - (3)].s), (yyvsp[(1) - (3)].t));
else
(yyval.sr) = mk_ident(interp,
(yyvsp[(2) - (3)].s), (yyvsp[(1) - (3)].t));
- (yyval.sr)->type |= (yyvsp[(3) -
(3)].t); ;}
+ (yyval.sr)->type |= (yyvsp[(3) -
(3)].t); }
break;
case 58:
-#line 818 "compilers/imcc/imcc.y"
+#line 822 "compilers/imcc/imcc.y"
{
if ((yyvsp[(5) - (5)].t) &
VT_UNIQUE_REG)
(yyval.sr) = mk_ident_ur(interp,
(yyvsp[(4) - (5)].s), (yyvsp[(1) - (5)].t));
else
(yyval.sr) = mk_ident(interp,
(yyvsp[(4) - (5)].s), (yyvsp[(1) - (5)].t));
(yyval.sr)->type |= (yyvsp[(5) -
(5)].t);
- adv_named_set(interp, (yyvsp[(2) -
(5)].s));;}
+ adv_named_set(interp, (yyvsp[(2) -
(5)].s));}
break;
case 59:
-#line 829 "compilers/imcc/imcc.y"
- { (yyval.t) = 0; ;}
+#line 833 "compilers/imcc/imcc.y"
+ { (yyval.t) = 0; }
break;
case 60:
-#line 833 "compilers/imcc/imcc.y"
+#line 837 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; IMCC_INFO(interp)->cur_unit->outer =
- mk_sub_address_fromc(interp, (yyvsp[(3) - (4)].s)); ;}
+ mk_sub_address_fromc(interp, (yyvsp[(3) - (4)].s)); }
break;
case 61:
-#line 836 "compilers/imcc/imcc.y"
+#line 840 "compilers/imcc/imcc.y"
{ (yyval.t) = 0; IMCC_INFO(interp)->cur_unit->outer =
- mk_const(interp, (yyvsp[(3) - (4)].s), 'S'); ;}
+ mk_const(interp, (yyvsp[(3) - (4)].s), 'S'); }
break;
case 62:
-#line 841 "compilers/imcc/imcc.y"
+#line 845 "compilers/imcc/imcc.y"
{ (yyval.t) = 0;
IMCC_INFO(interp)->cur_unit->vtable_name = NULL;
- IMCC_INFO(interp)->cur_unit->is_vtable_method = 1; ;}
+ IMCC_INFO(interp)->cur_unit->is_vtable_method = 1; }
break;
case 63:
-#line 845 "compilers/imcc/imcc.y"
+#line 849 "compilers/imcc/imcc.y"
{ (yyval.t) = 0;
- IMCC_INFO(interp)->cur_unit->vtable_name =
strdup((yyvsp[(3) - (4)].s));
- IMCC_INFO(interp)->cur_unit->is_vtable_method = 1; ;}
+ IMCC_INFO(interp)->cur_unit->vtable_name =
str_dup((yyvsp[(3) - (4)].s));
+ IMCC_INFO(interp)->cur_unit->is_vtable_method = 1; }
break;
case 64:
-#line 851 "compilers/imcc/imcc.y"
- { add_pcc_multi(IMCC_INFO(interp)->cur_call, NULL); ;}
+#line 855 "compilers/imcc/imcc.y"
+ { add_pcc_multi(IMCC_INFO(interp)->cur_call, NULL); }
break;
case 65:
-#line 852 "compilers/imcc/imcc.y"
- { (yyval.t) = 0; add_pcc_multi(IMCC_INFO(interp)->cur_call, (yyvsp[(3) -
(3)].sr)); ;}
+#line 856 "compilers/imcc/imcc.y"
+ { (yyval.t) = 0; add_pcc_multi(IMCC_INFO(interp)->cur_call, (yyvsp[(3) -
(3)].sr)); }
break;
case 66:
-#line 853 "compilers/imcc/imcc.y"
- { (yyval.t) = 0; add_pcc_multi(IMCC_INFO(interp)->cur_call, (yyvsp[(1) -
(1)].sr));;}
+#line 857 "compilers/imcc/imcc.y"
+ { (yyval.t) = 0; add_pcc_multi(IMCC_INFO(interp)->cur_call, (yyvsp[(1) -
(1)].sr));}
break;
case 67:
-#line 857 "compilers/imcc/imcc.y"
- { (yyval.sr) = mk_const(interp, "INTVAL", 'S'); ;}
+#line 861 "compilers/imcc/imcc.y"
+ { (yyval.sr) = mk_const(interp, str_dup("INTVAL"), 'S'); }
break;
case 68:
-#line 858 "compilers/imcc/imcc.y"
- { (yyval.sr) = mk_const(interp, "FLOATVAL", 'S'); ;}
+#line 862 "compilers/imcc/imcc.y"
+ { (yyval.sr) = mk_const(interp, str_dup("FLOATVAL"), 'S'); }
break;
case 69:
-#line 859 "compilers/imcc/imcc.y"
- { (yyval.sr) = mk_const(interp, "PMC", 'S'); ;}
+#line 863 "compilers/imcc/imcc.y"
+ { (yyval.sr) = mk_const(interp, str_dup("PMC"), 'S'); }
break;
case 70:
-#line 860 "compilers/imcc/imcc.y"
- { (yyval.sr) = mk_const(interp, "STRING", 'S'); ;}
+#line 864 "compilers/imcc/imcc.y"
+ { (yyval.sr) = mk_const(interp, str_dup("STRING"), 'S'); }
break;
case 71:
-#line 861 "compilers/imcc/imcc.y"
+#line 865 "compilers/imcc/imcc.y"
{
SymReg *r;
if (strcmp((yyvsp[(1) - (1)].s), "_"))
r = mk_const(interp, (yyvsp[(1) - (1)].s), 'S');
else {
free((yyvsp[(1) - (1)].s)),
- r = mk_const(interp, "PMC", 'S');
+ r = mk_const(interp, str_dup("PMC"), 'S');
}
(yyval.sr) = r;
- ;}
+ }
break;
case 72:
-#line 871 "compilers/imcc/imcc.y"
+#line 875 "compilers/imcc/imcc.y"
{
SymReg *r;
if (strcmp((yyvsp[(1) - (1)].s), "_"))
@@ -3407,16 +3098,16 @@
r = mk_const(interp, "PMC", 'S');
}
(yyval.sr) = r;
- ;}
+ }
break;
case 73:
-#line 881 "compilers/imcc/imcc.y"
- { (yyval.sr) = (yyvsp[(2) - (3)].sr); ;}
+#line 885 "compilers/imcc/imcc.y"
+ { (yyval.sr) = (yyvsp[(2) - (3)].sr); }
break;
case 76:
-#line 891 "compilers/imcc/imcc.y"
+#line 895 "compilers/imcc/imcc.y"
{
char name[128];
SymReg *r, *r1;
@@ -3424,7 +3115,7 @@
sprintf(name, "%cpcc_sub_call_%d",
IMCC_INTERNAL_CHAR, IMCC_INFO(interp)->cnr++);
- (yyval.sr) = r = mk_pcc_sub(interp, name, 0);
+ (yyval.sr) = r = mk_pcc_sub(interp, str_dup(name), 0);
/* this mid rule action has the semantic value of the
* sub SymReg.
* This is used below to append args & results
@@ -3439,171 +3130,171 @@
r1 = IMCC_INFO(interp)->cur_unit->instructions->r[0];
if (r1 && r1->pcc_sub)
r1->pcc_sub->calls_a_sub |= 1;
- ;}
+ }
break;
case 77:
-#line 919 "compilers/imcc/imcc.y"
- { (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; ;}
+#line 923 "compilers/imcc/imcc.y"
+ { (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; }
break;
case 78:
-#line 923 "compilers/imcc/imcc.y"
- { (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->label = 0; ;}
+#line 927 "compilers/imcc/imcc.y"
+ { (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->label = 0; }
break;
case 79:
-#line 924 "compilers/imcc/imcc.y"
- { (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->label = 1; ;}
+#line 928 "compilers/imcc/imcc.y"
+ { (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->label = 1; }
break;
case 80:
-#line 928 "compilers/imcc/imcc.y"
- { (yyval.i) = NULL; ;}
+#line 932 "compilers/imcc/imcc.y"
+ { (yyval.i) = NULL; }
break;
case 81:
-#line 930 "compilers/imcc/imcc.y"
- { (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->object =
(yyvsp[(2) - (3)].sr); ;}
+#line 934 "compilers/imcc/imcc.y"
+ { (yyval.i) = NULL; IMCC_INFO(interp)->cur_call->pcc_sub->object =
(yyvsp[(2) - (3)].sr); }
break;
case 82:
-#line 934 "compilers/imcc/imcc.y"
- { (yyval.t) = 0; ;}
+#line 938 "compilers/imcc/imcc.y"
+ { (yyval.t) = 0; }
break;
case 84:
-#line 939 "compilers/imcc/imcc.y"
- { (yyval.t) = (yyvsp[(1) - (1)].t); ;}
+#line 943 "compilers/imcc/imcc.y"
+ { (yyval.t) = (yyvsp[(1) - (1)].t); }
break;
case 85:
-#line 940 "compilers/imcc/imcc.y"
- { (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); ;}
+#line 944 "compilers/imcc/imcc.y"
+ { (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); }
break;
case 86:
-#line 944 "compilers/imcc/imcc.y"
- { (yyval.t) = P_LOAD; ;}
+#line 948 "compilers/imcc/imcc.y"
+ { (yyval.t) = P_LOAD; }
break;
case 87:
-#line 945 "compilers/imcc/imcc.y"
- { (yyval.t) = P_INIT; ;}
+#line 949 "compilers/imcc/imcc.y"
+ { (yyval.t) = P_INIT; }
break;
case 88:
-#line 946 "compilers/imcc/imcc.y"
- { (yyval.t) = P_MAIN; ;}
+#line 950 "compilers/imcc/imcc.y"
+ { (yyval.t) = P_MAIN; }
break;
case 89:
-#line 947 "compilers/imcc/imcc.y"
- { (yyval.t) = P_IMMEDIATE; ;}
+#line 951 "compilers/imcc/imcc.y"
+ { (yyval.t) = P_IMMEDIATE; }
break;
case 90:
-#line 948 "compilers/imcc/imcc.y"
- { (yyval.t) = P_POSTCOMP; ;}
+#line 952 "compilers/imcc/imcc.y"
+ { (yyval.t) = P_POSTCOMP; }
break;
case 91:
-#line 949 "compilers/imcc/imcc.y"
- { (yyval.t) = P_ANON; ;}
+#line 953 "compilers/imcc/imcc.y"
+ { (yyval.t) = P_ANON; }
break;
case 92:
-#line 950 "compilers/imcc/imcc.y"
- { (yyval.t) = P_METHOD; ;}
+#line 954 "compilers/imcc/imcc.y"
+ { (yyval.t) = P_METHOD; }
break;
case 93:
-#line 951 "compilers/imcc/imcc.y"
- { (yyval.t) = P_NEED_LEX; ;}
+#line 955 "compilers/imcc/imcc.y"
+ { (yyval.t) = P_NEED_LEX; }
break;
case 97:
-#line 959 "compilers/imcc/imcc.y"
+#line 963 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (5)].sr));
add_pcc_cc(IMCC_INFO(interp)->cur_call, (yyvsp[(4) - (5)].sr));
- ;}
+ }
break;
case 98:
-#line 964 "compilers/imcc/imcc.y"
- { add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr)); ;}
+#line 968 "compilers/imcc/imcc.y"
+ { add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr)); }
break;
case 99:
-#line 966 "compilers/imcc/imcc.y"
+#line 970 "compilers/imcc/imcc.y"
{
add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr));
IMCC_INFO(interp)->cur_call->pcc_sub->flags |= isNCI;
- ;}
+ }
break;
case 100:
-#line 971 "compilers/imcc/imcc.y"
- { add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr)); ;}
+#line 975 "compilers/imcc/imcc.y"
+ { add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr)); }
break;
case 101:
-#line 973 "compilers/imcc/imcc.y"
- { add_pcc_sub(IMCC_INFO(interp)->cur_call, mk_const(interp, (yyvsp[(2) -
(3)].s), 'S')); ;}
+#line 977 "compilers/imcc/imcc.y"
+ { add_pcc_sub(IMCC_INFO(interp)->cur_call, mk_const(interp, (yyvsp[(2) -
(3)].s), 'S')); }
break;
case 102:
-#line 975 "compilers/imcc/imcc.y"
+#line 979 "compilers/imcc/imcc.y"
{ add_pcc_sub(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (5)].sr));
add_pcc_cc(IMCC_INFO(interp)->cur_call, (yyvsp[(4) - (5)].sr));
- ;}
+ }
break;
case 103:
-#line 979 "compilers/imcc/imcc.y"
+#line 983 "compilers/imcc/imcc.y"
{ add_pcc_sub(IMCC_INFO(interp)->cur_call, mk_const(interp, (yyvsp[(2) -
(5)].s), 'S'));
add_pcc_cc(IMCC_INFO(interp)->cur_call, (yyvsp[(4) - (5)].sr));
- ;}
+ }
break;
case 104:
-#line 986 "compilers/imcc/imcc.y"
- { (yyval.sr) = 0; ;}
+#line 990 "compilers/imcc/imcc.y"
+ { (yyval.sr) = 0; }
break;
case 105:
-#line 987 "compilers/imcc/imcc.y"
- { add_pcc_arg(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr)); ;}
+#line 991 "compilers/imcc/imcc.y"
+ { add_pcc_arg(IMCC_INFO(interp)->cur_call, (yyvsp[(2) - (3)].sr)); }
break;
case 106:
-#line 991 "compilers/imcc/imcc.y"
- { (yyval.sr) = (yyvsp[(2) - (2)].sr); ;}
+#line 995 "compilers/imcc/imcc.y"
+ { (yyval.sr) = (yyvsp[(2) - (2)].sr); }
break;
case 107:
-#line 996 "compilers/imcc/imcc.y"
- { (yyval.sr) = 0; ;}
+#line 1000 "compilers/imcc/imcc.y"
+ { (yyval.sr) = 0; }
break;
case 108:
-#line 997 "compilers/imcc/imcc.y"
- { if ((yyvsp[(2) - (3)].sr)) add_pcc_result(IMCC_INFO(interp)->cur_call,
(yyvsp[(2) - (3)].sr)); ;}
+#line 1001 "compilers/imcc/imcc.y"
+ { if ((yyvsp[(2) - (3)].sr)) add_pcc_result(IMCC_INFO(interp)->cur_call,
(yyvsp[(2) - (3)].sr)); }
break;
case 109:
-#line 1001 "compilers/imcc/imcc.y"
- { (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) -
(3)].t); ;}
+#line 1005 "compilers/imcc/imcc.y"
+ { (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) -
(3)].t); }
break;
case 110:
-#line 1002 "compilers/imcc/imcc.y"
- { is_def=1; ;}
+#line 1006 "compilers/imcc/imcc.y"
+ { is_def=1; }
break;
case 111:
-#line 1003 "compilers/imcc/imcc.y"
+#line 1007 "compilers/imcc/imcc.y"
{
IdList* l = (yyvsp[(4) - (4)].idlist);
SymReg *ignored;
@@ -3614,266 +3305,266 @@
UNUSED(ignored);
is_def=0;
(yyval.sr)=0;
- ;}
+ }
break;
case 112:
-#line 1017 "compilers/imcc/imcc.y"
- { (yyval.t) = 0; ;}
+#line 1021 "compilers/imcc/imcc.y"
+ { (yyval.t) = 0; }
break;
case 113:
-#line 1018 "compilers/imcc/imcc.y"
- { (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); ;}
+#line 1022 "compilers/imcc/imcc.y"
+ { (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); }
break;
case 114:
-#line 1022 "compilers/imcc/imcc.y"
- { (yyval.t) = VT_FLAT; ;}
+#line 1026 "compilers/imcc/imcc.y"
+ { (yyval.t) = VT_FLAT; }
break;
case 115:
-#line 1023 "compilers/imcc/imcc.y"
- { (yyval.t) = VT_OPTIONAL; ;}
+#line 1027 "compilers/imcc/imcc.y"
+ { (yyval.t) = VT_OPTIONAL; }
break;
case 116:
-#line 1024 "compilers/imcc/imcc.y"
- { (yyval.t) = VT_OPT_FLAG; ;}
+#line 1028 "compilers/imcc/imcc.y"
+ { (yyval.t) = VT_OPT_FLAG; }
break;
case 117:
-#line 1025 "compilers/imcc/imcc.y"
- { (yyval.t) = VT_NAMED; ;}
+#line 1029 "compilers/imcc/imcc.y"
+ { (yyval.t) = VT_NAMED; }
break;
case 118:
-#line 1026 "compilers/imcc/imcc.y"
- { adv_named_set(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; ;}
+#line 1030 "compilers/imcc/imcc.y"
+ { adv_named_set(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; }
break;
case 119:
-#line 1027 "compilers/imcc/imcc.y"
- { (yyval.t) = VT_UNIQUE_REG; ;}
+#line 1031 "compilers/imcc/imcc.y"
+ { (yyval.t) = VT_UNIQUE_REG; }
break;
case 120:
-#line 1033 "compilers/imcc/imcc.y"
- { begin_return_or_yield(interp, 0); ;}
+#line 1037 "compilers/imcc/imcc.y"
+ { begin_return_or_yield(interp, 0); }
break;
case 121:
-#line 1036 "compilers/imcc/imcc.y"
- { (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; ;}
+#line 1040 "compilers/imcc/imcc.y"
+ { (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; }
break;
case 122:
-#line 1037 "compilers/imcc/imcc.y"
- { IMCC_INFO(interp)->asm_state = AsmDefault; (yyval.i) = 0; ;}
+#line 1041 "compilers/imcc/imcc.y"
+ { IMCC_INFO(interp)->asm_state = AsmDefault; (yyval.i) = 0; }
break;
case 123:
-#line 1043 "compilers/imcc/imcc.y"
- { begin_return_or_yield(interp, 1); ;}
+#line 1047 "compilers/imcc/imcc.y"
+ { begin_return_or_yield(interp, 1); }
break;
case 124:
-#line 1046 "compilers/imcc/imcc.y"
- { (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; ;}
+#line 1050 "compilers/imcc/imcc.y"
+ { (yyval.i) = 0; IMCC_INFO(interp)->asm_state = AsmDefault; }
break;
case 125:
-#line 1050 "compilers/imcc/imcc.y"
- { (yyval.sr) = 0; ;}
+#line 1054 "compilers/imcc/imcc.y"
+ { (yyval.sr) = 0; }
break;
case 126:
-#line 1051 "compilers/imcc/imcc.y"
+#line 1055 "compilers/imcc/imcc.y"
{
if ((yyvsp[(1) - (2)].sr)) add_pcc_return(IMCC_INFO(interp)->sr_return,
(yyvsp[(1) - (2)].sr));
- ;}
+ }
break;
case 127:
-#line 1054 "compilers/imcc/imcc.y"
+#line 1058 "compilers/imcc/imcc.y"
{
if ((yyvsp[(2) - (3)].sr)) add_pcc_return(IMCC_INFO(interp)->sr_return,
(yyvsp[(2) - (3)].sr));
- ;}
+ }
break;
case 128:
-#line 1060 "compilers/imcc/imcc.y"
- { (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) -
(3)].t); ;}
+#line 1064 "compilers/imcc/imcc.y"
+ { (yyval.sr) = (yyvsp[(2) - (3)].sr); (yyval.sr)->type |= (yyvsp[(3) -
(3)].t); }
break;
case 129:
-#line 1065 "compilers/imcc/imcc.y"
+#line 1069 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->asm_state == AsmDefault)
begin_return_or_yield(interp, (yyvsp[(1) - (2)].t));
- ;}
+ }
break;
case 130:
-#line 1070 "compilers/imcc/imcc.y"
- { IMCC_INFO(interp)->asm_state = AsmDefault; (yyval.t) = 0; ;}
+#line 1074 "compilers/imcc/imcc.y"
+ { IMCC_INFO(interp)->asm_state = AsmDefault; (yyval.t) = 0; }
break;
case 131:
-#line 1074 "compilers/imcc/imcc.y"
- { (yyval.t) = 0; ;}
+#line 1078 "compilers/imcc/imcc.y"
+ { (yyval.t) = 0; }
break;
case 132:
-#line 1075 "compilers/imcc/imcc.y"
- { (yyval.t) = 1; ;}
+#line 1079 "compilers/imcc/imcc.y"
+ { (yyval.t) = 1; }
break;
case 133:
-#line 1079 "compilers/imcc/imcc.y"
- { (yyval.i) = 0; ;}
+#line 1083 "compilers/imcc/imcc.y"
+ { (yyval.i) = 0; }
break;
case 134:
-#line 1080 "compilers/imcc/imcc.y"
+#line 1084 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->adv_named_id) {
add_pcc_named_return(interp, IMCC_INFO(interp)->sr_return,
IMCC_INFO(interp)->adv_named_id, (yyvsp[(1) -
(1)].sr));
IMCC_INFO(interp)->adv_named_id = NULL;
}
- else add_pcc_return(IMCC_INFO(interp)->sr_return, (yyvsp[(1) -
(1)].sr)); ;}
+ else add_pcc_return(IMCC_INFO(interp)->sr_return, (yyvsp[(1) -
(1)].sr)); }
break;
case 135:
-#line 1087 "compilers/imcc/imcc.y"
+#line 1091 "compilers/imcc/imcc.y"
{
- add_pcc_named_return(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(1) -
(3)].s), (yyvsp[(3) - (3)].sr));;}
+ add_pcc_named_return(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(1) -
(3)].s), (yyvsp[(3) - (3)].sr));}
break;
case 136:
-#line 1089 "compilers/imcc/imcc.y"
+#line 1093 "compilers/imcc/imcc.y"
{
if (IMCC_INFO(interp)->adv_named_id) {
add_pcc_named_return(interp, IMCC_INFO(interp)->sr_return,
IMCC_INFO(interp)->adv_named_id, (yyvsp[(3) -
(3)].sr));
IMCC_INFO(interp)->adv_named_id = NULL;
}
- else add_pcc_return(IMCC_INFO(interp)->sr_return, (yyvsp[(3) -
(3)].sr)); ;}
+ else add_pcc_return(IMCC_INFO(interp)->sr_return, (yyvsp[(3) -
(3)].sr)); }
break;
case 137:
-#line 1096 "compilers/imcc/imcc.y"
+#line 1100 "compilers/imcc/imcc.y"
{
- add_pcc_named_return(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(3) -
(5)].s), (yyvsp[(5) - (5)].sr));;}
+ add_pcc_named_return(interp, IMCC_INFO(interp)->sr_return, (yyvsp[(3) -
(5)].s), (yyvsp[(5) - (5)].sr));}
break;
case 140:
-#line 1115 "compilers/imcc/imcc.y"
- { clear_state(interp); ;}
+#line 1119 "compilers/imcc/imcc.y"
+ { clear_state(interp); }
break;
case 141:
-#line 1120 "compilers/imcc/imcc.y"
- { (yyval.i) = (yyvsp[(2) - (2)].i); ;}
+#line 1124 "compilers/imcc/imcc.y"
+ { (yyval.i) = (yyvsp[(2) - (2)].i); }
break;
case 142:
-#line 1121 "compilers/imcc/imcc.y"
- { (yyval.i) = 0; ;}
+#line 1125 "compilers/imcc/imcc.y"
+ { (yyval.i) = 0; }
break;
case 143:
-#line 1122 "compilers/imcc/imcc.y"
- { (yyval.i) = 0; ;}
+#line 1126 "compilers/imcc/imcc.y"
+ { (yyval.i) = 0; }
break;
case 144:
-#line 1123 "compilers/imcc/imcc.y"
- { (yyval.i) = 0; ;}
+#line 1127 "compilers/imcc/imcc.y"
+ { (yyval.i) = 0; }
break;
case 145:
-#line 1127 "compilers/imcc/imcc.y"
- { (yyval.i) = NULL; ;}
+#line 1131 "compilers/imcc/imcc.y"
+ { (yyval.i) = NULL; }
break;
case 149:
-#line 1137 "compilers/imcc/imcc.y"
+#line 1141 "compilers/imcc/imcc.y"
{
(yyval.i) = iLABEL(interp, IMCC_INFO(interp)->cur_unit,
mk_local_label(interp, (yyvsp[(1) - (1)].s)));
- ;}
+ }
break;
case 150:
-#line 1146 "compilers/imcc/imcc.y"
- { (yyval.i) = (yyvsp[(2) - (3)].i); ;}
+#line 1150 "compilers/imcc/imcc.y"
+ { (yyval.i) = (yyvsp[(2) - (3)].i); }
break;
case 151:
-#line 1148 "compilers/imcc/imcc.y"
+#line 1152 "compilers/imcc/imcc.y"
{ if (yynerrs >= PARROT_MAX_RECOVER_ERRORS) {
IMCC_warning(interp, "Too many errors. Correct some
first.\n");
YYABORT;
}
- yyerrok; ;}
+ yyerrok; }
break;
case 152:
-#line 1157 "compilers/imcc/imcc.y"
+#line 1161 "compilers/imcc/imcc.y"
{
IdList* l = (yyvsp[(1) - (1)].idlist);
l->next = NULL;
(yyval.idlist) = l;
- ;}
+ }
break;
case 153:
-#line 1164 "compilers/imcc/imcc.y"
+#line 1168 "compilers/imcc/imcc.y"
{
IdList* l = (yyvsp[(3) - (3)].idlist);
l->next = (yyvsp[(1) - (3)].idlist);
(yyval.idlist) = l;
- ;}
+ }
break;
case 154:
-#line 1173 "compilers/imcc/imcc.y"
+#line 1177 "compilers/imcc/imcc.y"
{
IdList* l = (IdList*)malloc(sizeof (IdList));
l->id = (yyvsp[(1) - (2)].s);
l->unique_reg = (yyvsp[(2) - (2)].t);
(yyval.idlist) = l;
- ;}
+ }
break;
case 155:
-#line 1182 "compilers/imcc/imcc.y"
- { (yyval.t) = 0; ;}
+#line 1186 "compilers/imcc/imcc.y"
+ { (yyval.t) = 0; }
break;
case 156:
-#line 1183 "compilers/imcc/imcc.y"
- { (yyval.t) = 1; ;}
+#line 1187 "compilers/imcc/imcc.y"
+ { (yyval.t) = 1; }
break;
case 159:
-#line 1190 "compilers/imcc/imcc.y"
- { push_namespace((yyvsp[(2) - (2)].s)); ;}
+#line 1194 "compilers/imcc/imcc.y"
+ { push_namespace((yyvsp[(2) - (2)].s)); }
break;
case 160:
-#line 1191 "compilers/imcc/imcc.y"
- { pop_namespace((yyvsp[(2) - (2)].s)); ;}
+#line 1195 "compilers/imcc/imcc.y"
+ { pop_namespace((yyvsp[(2) - (2)].s)); }
break;
case 161:
-#line 1192 "compilers/imcc/imcc.y"
- { is_def=1; ;}
+#line 1196 "compilers/imcc/imcc.y"
+ { is_def=1; }
break;
case 162:
-#line 1193 "compilers/imcc/imcc.y"
+#line 1197 "compilers/imcc/imcc.y"
{
IdList* l = (yyvsp[(4) - (4)].idlist);
while (l) {
@@ -3889,909 +3580,909 @@
free(l1);
}
is_def=0; (yyval.i)=0;
- ;}
+ }
break;
case 163:
-#line 1210 "compilers/imcc/imcc.y"
+#line 1214 "compilers/imcc/imcc.y"
{
set_lexical(interp, (yyvsp[(4) - (4)].sr), (yyvsp[(2) -
(4)].s)); (yyval.i) = 0;
- ;}
+ }
break;
case 164:
-#line 1213 "compilers/imcc/imcc.y"
- { is_def=1; ;}
+#line 1217 "compilers/imcc/imcc.y"
+ { is_def=1; }
break;
case 165:
-#line 1214 "compilers/imcc/imcc.y"
+#line 1218 "compilers/imcc/imcc.y"
{
SymReg *ignored;
ignored = mk_const_ident(interp, (yyvsp[(4) - (6)].s),
(yyvsp[(3) - (6)].t), (yyvsp[(6) - (6)].sr), 0);
UNUSED(ignored);
is_def=0;
- ;}
+ }
break;
case 167:
-#line 1222 "compilers/imcc/imcc.y"
- { is_def=1; ;}
+#line 1226 "compilers/imcc/imcc.y"
+ { is_def=1; }
break;
case 168:
-#line 1223 "compilers/imcc/imcc.y"
+#line 1227 "compilers/imcc/imcc.y"
{
SymReg *ignored;
ignored = mk_const_ident(interp, (yyvsp[(4) - (6)].s),
(yyvsp[(3) - (6)].t), (yyvsp[(6) - (6)].sr), 1);
UNUSED(ignored);
is_def=0;
- ;}
+ }
break;
case 169:
-#line 1229 "compilers/imcc/imcc.y"
+#line 1233 "compilers/imcc/imcc.y"
{ (yyval.i) = NULL;
IMCC_INFO(interp)->cur_call->pcc_sub->flags |=
isTAIL_CALL;
IMCC_INFO(interp)->cur_call = NULL;
- ;}
+ }
break;
case 170:
-#line 1233 "compilers/imcc/imcc.y"
- { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "branch", 1,
(yyvsp[(2) - (2)].sr)); ;}
+#line 1237 "compilers/imcc/imcc.y"
+ { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "branch", 1,
(yyvsp[(2) - (2)].sr)); }
break;
case 171:
-#line 1235 "compilers/imcc/imcc.y"
+#line 1239 "compilers/imcc/imcc.y"
{ (yyval.i) = INS(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) -
(2)].s), 0,
IMCC_INFO(interp) -> regs,
IMCC_INFO(interp) -> nargs,
IMCC_INFO(interp) -> keyvec, 1);
- free((yyvsp[(1) - (2)].s)); ;}
+ free((yyvsp[(1) - (2)].s)); }
break;
case 172:
-#line 1241 "compilers/imcc/imcc.y"
- { (yyval.i) =MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1,
(yyvsp[(2) - (2)].sr)); ;}
+#line 1245 "compilers/imcc/imcc.y"
+ { (yyval.i) =MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1,
(yyvsp[(2) - (2)].sr)); }
break;
case 173:
-#line 1242 "compilers/imcc/imcc.y"
- { (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; ;}
+#line 1246 "compilers/imcc/imcc.y"
+ { (yyval.i) = 0; IMCC_INFO(interp)->cur_call = NULL; }
break;
case 174:
-#line 1243 "compilers/imcc/imcc.y"
- { (yyval.i) = 0; ;}
+#line 1247 "compilers/imcc/imcc.y"
+ { (yyval.i) = 0; }
break;
case 177:
-#line 1246 "compilers/imcc/imcc.y"
- { (yyval.i) = 0;;}
+#line 1250 "compilers/imcc/imcc.y"
+ { (yyval.i) = 0;}
break;
case 178:
-#line 1250 "compilers/imcc/imcc.y"
- { (yyval.t) = 'I'; ;}
+#line 1254 "compilers/imcc/imcc.y"
+ { (yyval.t) = 'I'; }
break;
case 179:
-#line 1251 "compilers/imcc/imcc.y"
- { (yyval.t) = 'N'; ;}
+#line 1255 "compilers/imcc/imcc.y"
+ { (yyval.t) = 'N'; }
break;
case 180:
-#line 1252 "compilers/imcc/imcc.y"
- { (yyval.t) = 'S'; ;}
+#line 1256 "compilers/imcc/imcc.y"
+ { (yyval.t) = 'S'; }
break;
case 181:
-#line 1253 "compilers/imcc/imcc.y"
- { (yyval.t) = 'P'; ;}
+#line 1257 "compilers/imcc/imcc.y"
+ { (yyval.t) = 'P'; }
break;
case 182:
-#line 1254 "compilers/imcc/imcc.y"
- { (yyval.t) = 'P'; free((yyvsp[(1) - (1)].s)); ;}
+#line 1258 "compilers/imcc/imcc.y"
+ { (yyval.t) = 'P'; free((yyvsp[(1) - (1)].s)); }
break;
case 183:
-#line 1259 "compilers/imcc/imcc.y"
+#line 1263 "compilers/imcc/imcc.y"
{
if ((IMCC_INFO(interp)->cur_pmc_type = pmc_type(interp,
string_from_cstring(interp, (yyvsp[(1) - (1)].s), 0))) <= 0)
{
IMCC_fataly(interp, E_SyntaxError,
"Unknown PMC type '%s'\n", (yyvsp[(1) - (1)].s));
}
- ;}
+ }
break;
case 184:
-#line 1270 "compilers/imcc/imcc.y"
- { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "set", 2,
(yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].sr)); ;}
+#line 1274 "compilers/imcc/imcc.y"
+ { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "set", 2,
(yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].sr)); }
break;
case 185:
-#line 1272 "compilers/imcc/imcc.y"
- { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) -
(4)].s), 2, (yyvsp[(1) - (4)].sr), (yyvsp[(4) - (4)].sr)); ;}
+#line 1276 "compilers/imcc/imcc.y"
+ { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) -
(4)].s), 2, (yyvsp[(1) - (4)].sr), (yyvsp[(4) - (4)].sr)); }
break;
case 186:
-#line 1274 "compilers/imcc/imcc.y"
- { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(4) -
(5)].s), 3, (yyvsp[(1) - (5)].sr), (yyvsp[(3) - (5)].sr), (yyvsp[(5) -
(5)].sr)); ;}
+#line 1278 "compilers/imcc/imcc.y"
+ { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(4) -
(5)].s), 3, (yyvsp[(1) - (5)].sr), (yyvsp[(3) - (5)].sr), (yyvsp[(5) -
(5)].sr)); }
break;
case 187:
-#line 1276 "compilers/imcc/imcc.y"
- { (yyval.i) = iINDEXFETCH(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1)
- (6)].sr), (yyvsp[(3) - (6)].sr), (yyvsp[(5) - (6)].sr)); ;}
+#line 1280 "compilers/imcc/imcc.y"
+ { (yyval.i) = iINDEXFETCH(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1)
- (6)].sr), (yyvsp[(3) - (6)].sr), (yyvsp[(5) - (6)].sr)); }
break;
case 188:
-#line 1278 "compilers/imcc/imcc.y"
- { (yyval.i) = iINDEXSET(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) -
(6)].sr), (yyvsp[(3) - (6)].sr), (yyvsp[(6) - (6)].sr)); ;}
+#line 1282 "compilers/imcc/imcc.y"
+ { (yyval.i) = iINDEXSET(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) -
(6)].sr), (yyvsp[(3) - (6)].sr), (yyvsp[(6) - (6)].sr)); }
break;
case 189:
-#line 1280 "compilers/imcc/imcc.y"
- { (yyval.i) = iNEW(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) -
(6)].sr), (yyvsp[(4) - (6)].s), (yyvsp[(6) - (6)].sr), 1); ;}
+#line 1284 "compilers/imcc/imcc.y"
+ { (yyval.i) = iNEW(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) -
(6)].sr), (yyvsp[(4) - (6)].s), (yyvsp[(6) - (6)].sr), 1); }
break;
case 190:
-#line 1282 "compilers/imcc/imcc.y"
- { (yyval.i) = iNEW(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) -
(7)].sr), (yyvsp[(4) - (7)].s), (yyvsp[(6) - (7)].sr), 1); ;}
+#line 1286 "compilers/imcc/imcc.y"
+ { (yyval.i) = iNEW(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) -
(7)].sr), (yyvsp[(4) - (7)].s), (yyvsp[(6) - (7)].sr), 1); }
break;
case 191:
-#line 1284 "compilers/imcc/imcc.y"
- { (yyval.i) = iNEW(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) -
(4)].sr), (yyvsp[(4) - (4)].s), NULL, 1); ;}
+#line 1288 "compilers/imcc/imcc.y"
+ { (yyval.i) = iNEW(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) -
(4)].sr), (yyvsp[(4) - (4)].s), NULL, 1); }
break;
case 192:
-#line 1286 "compilers/imcc/imcc.y"
- { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 2,
(yyvsp[(1) - (4)].sr), (yyvsp[(4) - (4)].sr)); ;}
+#line 1290 "compilers/imcc/imcc.y"
+ { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 2,
(yyvsp[(1) - (4)].sr), (yyvsp[(4) - (4)].sr)); }
break;
case 193:
-#line 1288 "compilers/imcc/imcc.y"
- { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 2,
(yyvsp[(1) - (6)].sr), (yyvsp[(5) - (6)].sr)); ;}
+#line 1292 "compilers/imcc/imcc.y"
+ { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 2,
(yyvsp[(1) - (6)].sr), (yyvsp[(5) - (6)].sr)); }
break;
case 194:
-#line 1290 "compilers/imcc/imcc.y"
- { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 3,
(yyvsp[(1) - (6)].sr), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].sr)); ;}
+#line 1294 "compilers/imcc/imcc.y"
+ { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 3,
(yyvsp[(1) - (6)].sr), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].sr)); }
break;
case 195:
-#line 1292 "compilers/imcc/imcc.y"
- { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 3,
(yyvsp[(1) - (7)].sr), (yyvsp[(4) - (7)].sr), (yyvsp[(6) - (7)].sr)); ;}
+#line 1296 "compilers/imcc/imcc.y"
+ { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 3,
(yyvsp[(1) - (7)].sr), (yyvsp[(4) - (7)].sr), (yyvsp[(6) - (7)].sr)); }
break;
case 196:
-#line 1294 "compilers/imcc/imcc.y"
+#line 1298 "compilers/imcc/imcc.y"
{ (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "set_addr",
- 2, (yyvsp[(1) - (4)].sr), mk_label_address(interp,
(yyvsp[(4) - (4)].s))); ;}
+ 2, (yyvsp[(1) - (4)].sr), mk_label_address(interp,
(yyvsp[(4) - (4)].s))); }
break;
case 197:
-#line 1297 "compilers/imcc/imcc.y"
- { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "find_global", 2,
(yyvsp[(1) - (4)].sr), (yyvsp[(4) - (4)].sr));;}
+#line 1301 "compilers/imcc/imcc.y"
+ { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "find_global", 2,
(yyvsp[(1) - (4)].sr), (yyvsp[(4) - (4)].sr));}
break;
case 198:
-#line 1299 "compilers/imcc/imcc.y"
- { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "store_global", 2,
(yyvsp[(2) - (4)].sr), (yyvsp[(4) - (4)].sr)); ;}
+#line 1303 "compilers/imcc/imcc.y"
+ { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "store_global", 2,
(yyvsp[(2) - (4)].sr), (yyvsp[(4) - (4)].sr)); }
break;
case 199:
-#line 1303 "compilers/imcc/imcc.y"
- { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 2,
(yyvsp[(2) - (4)].sr), (yyvsp[(4) - (4)].sr)); ;}
+#line 1307 "compilers/imcc/imcc.y"
+ { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 2,
(yyvsp[(2) - (4)].sr), (yyvsp[(4) - (4)].sr)); }
break;
case 200:
-#line 1305 "compilers/imcc/imcc.y"
- { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 3,
(yyvsp[(2) - (6)].sr), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].sr)); ;}
+#line 1309 "compilers/imcc/imcc.y"
+ { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 3,
(yyvsp[(2) - (6)].sr), (yyvsp[(4) - (6)].sr), (yyvsp[(6) - (6)].sr)); }
break;
case 201:
-#line 1307 "compilers/imcc/imcc.y"
- { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 3,
(yyvsp[(2) - (7)].sr), (yyvsp[(4) - (7)].sr), (yyvsp[(6) - (7)].sr)); ;}
+#line 1311 "compilers/imcc/imcc.y"
+ { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "new", 3,
(yyvsp[(2) - (7)].sr), (yyvsp[(4) - (7)].sr), (yyvsp[(6) - (7)].sr)); }
break;
case 202:
-#line 1310 "compilers/imcc/imcc.y"
+#line 1314 "compilers/imcc/imcc.y"
{
add_pcc_result((yyvsp[(3) - (3)].i)->r[0], (yyvsp[(1) - (3)].sr));
IMCC_INFO(interp)->cur_call = NULL;
(yyval.i) = 0;
- ;}
+ }
break;
case 203:
-#line 1316 "compilers/imcc/imcc.y"
+#line 1320 "compilers/imcc/imcc.y"
{
(yyval.i) = IMCC_create_itcall_label(interp);
- ;}
+ }
break;
case 204:
-#line 1320 "compilers/imcc/imcc.y"
+#line 1324 "compilers/imcc/imcc.y"
{
IMCC_itcall_sub(interp, (yyvsp[(6) - (9)].sr));
IMCC_INFO(interp)->cur_call = NULL;
- ;}
+ }
break;
case 208:
-#line 1328 "compilers/imcc/imcc.y"
- { (yyval.i) =MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1,
(yyvsp[(1) - (3)].sr)); ;}
+#line 1332 "compilers/imcc/imcc.y"
+ { (yyval.i) =MK_I(interp, IMCC_INFO(interp)->cur_unit, "null", 1,
(yyvsp[(1) - (3)].sr)); }
break;
case 209:
-#line 1332 "compilers/imcc/imcc.y"
- { (yyval.s) = "not"; ;}
+#line 1336 "compilers/imcc/imcc.y"
+ { (yyval.s) = "not"; }
break;
case 210:
-#line 1333 "compilers/imcc/imcc.y"
- { (yyval.s) = "bnot"; ;}
+#line 1337 "compilers/imcc/imcc.y"
+ { (yyval.s) = "bnot"; }
break;
case 211:
-#line 1334 "compilers/imcc/imcc.y"
- { (yyval.s) = "neg"; ;}
+#line 1338 "compilers/imcc/imcc.y"
+ { (yyval.s) = "neg"; }
break;
case 212:
-#line 1338 "compilers/imcc/imcc.y"
- { (yyval.s) = "sub"; ;}
+#line 1342 "compilers/imcc/imcc.y"
+ { (yyval.s) = "sub"; }
break;
case 213:
-#line 1339 "compilers/imcc/imcc.y"
- { (yyval.s) = "add"; ;}
+#line 1343 "compilers/imcc/imcc.y"
+ { (yyval.s) = "add"; }
break;
case 214:
-#line 1340 "compilers/imcc/imcc.y"
- { (yyval.s) = "mul"; ;}
+#line 1344 "compilers/imcc/imcc.y"
+ { (yyval.s) = "mul"; }
break;
case 215:
-#line 1341 "compilers/imcc/imcc.y"
- { (yyval.s) = "div"; ;}
+#line 1345 "compilers/imcc/imcc.y"
+ { (yyval.s) = "div"; }
break;
case 216:
-#line 1342 "compilers/imcc/imcc.y"
- { (yyval.s) = "mod"; ;}
+#line 1346 "compilers/imcc/imcc.y"
+ { (yyval.s) = "mod"; }
break;
case 217:
-#line 1343 "compilers/imcc/imcc.y"
- { (yyval.s) = "fdiv"; ;}
+#line 1347 "compilers/imcc/imcc.y"
+ { (yyval.s) = "fdiv"; }
break;
case 218:
-#line 1344 "compilers/imcc/imcc.y"
- { (yyval.s) = "pow"; ;}
+#line 1348 "compilers/imcc/imcc.y"
+ { (yyval.s) = "pow"; }
break;
case 219:
-#line 1345 "compilers/imcc/imcc.y"
- { (yyval.s) = "concat"; ;}
+#line 1349 "compilers/imcc/imcc.y"
+ { (yyval.s) = "concat"; }
break;
case 220:
-#line 1346 "compilers/imcc/imcc.y"
- { (yyval.s) = "iseq"; ;}
+#line 1350 "compilers/imcc/imcc.y"
+ { (yyval.s) = "iseq"; }
break;
case 221:
-#line 1347 "compilers/imcc/imcc.y"
- { (yyval.s) = "isne"; ;}
+#line 1351 "compilers/imcc/imcc.y"
+ { (yyval.s) = "isne"; }
break;
case 222:
-#line 1348 "compilers/imcc/imcc.y"
- { (yyval.s) = "isgt"; ;}
+#line 1352 "compilers/imcc/imcc.y"
+ { (yyval.s) = "isgt"; }
break;
case 223:
-#line 1349 "compilers/imcc/imcc.y"
- { (yyval.s) = "isge"; ;}
+#line 1353 "compilers/imcc/imcc.y"
+ { (yyval.s) = "isge"; }
break;
case 224:
-#line 1350 "compilers/imcc/imcc.y"
- { (yyval.s) = "islt"; ;}
+#line 1354 "compilers/imcc/imcc.y"
+ { (yyval.s) = "islt"; }
break;
case 225:
-#line 1351 "compilers/imcc/imcc.y"
- { (yyval.s) = "isle"; ;}
+#line 1355 "compilers/imcc/imcc.y"
+ { (yyval.s) = "isle"; }
break;
case 226:
-#line 1352 "compilers/imcc/imcc.y"
- { (yyval.s) = "shl"; ;}
+#line 1356 "compilers/imcc/imcc.y"
+ { (yyval.s) = "shl"; }
break;
case 227:
-#line 1353 "compilers/imcc/imcc.y"
- { (yyval.s) = "shr"; ;}
+#line 1357 "compilers/imcc/imcc.y"
+ { (yyval.s) = "shr"; }
break;
case 228:
-#line 1354 "compilers/imcc/imcc.y"
- { (yyval.s) = "lsr"; ;}
+#line 1358 "compilers/imcc/imcc.y"
+ { (yyval.s) = "lsr"; }
break;
case 229:
-#line 1355 "compilers/imcc/imcc.y"
- { (yyval.s) = "and"; ;}
+#line 1359 "compilers/imcc/imcc.y"
+ { (yyval.s) = "and"; }
break;
case 230:
-#line 1356 "compilers/imcc/imcc.y"
- { (yyval.s) = "or"; ;}
+#line 1360 "compilers/imcc/imcc.y"
+ { (yyval.s) = "or"; }
break;
case 231:
-#line 1357 "compilers/imcc/imcc.y"
- { (yyval.s) = "xor"; ;}
+#line 1361 "compilers/imcc/imcc.y"
+ { (yyval.s) = "xor"; }
break;
case 232:
-#line 1358 "compilers/imcc/imcc.y"
- { (yyval.s) = "band"; ;}
+#line 1362 "compilers/imcc/imcc.y"
+ { (yyval.s) = "band"; }
break;
case 233:
-#line 1359 "compilers/imcc/imcc.y"
- { (yyval.s) = "bor"; ;}
+#line 1363 "compilers/imcc/imcc.y"
+ { (yyval.s) = "bor"; }
break;
case 234:
-#line 1360 "compilers/imcc/imcc.y"
- { (yyval.s) = "bxor"; ;}
+#line 1364 "compilers/imcc/imcc.y"
+ { (yyval.s) = "bxor"; }
break;
case 235:
-#line 1364 "compilers/imcc/imcc.y"
+#line 1368 "compilers/imcc/imcc.y"
{ (yyval.i) = IMCC_create_itcall_label(interp);
- (yyval.i)->type &= ~ITCALL; (yyval.i)->type |=
ITRESULT; ;}
+ (yyval.i)->type &= ~ITCALL; (yyval.i)->type |=
ITRESULT; }
break;
case 236:
-#line 1366 "compilers/imcc/imcc.y"
- { (yyval.i) = 0; ;}
+#line 1370 "compilers/imcc/imcc.y"
+ { (yyval.i) = 0; }
break;
case 237:
-#line 1373 "compilers/imcc/imcc.y"
- { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(2) -
(3)].s), 2, (yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].sr)); ;}
+#line 1377 "compilers/imcc/imcc.y"
+ { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(2) -
(3)].s), 2, (yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].sr)); }
break;
case 238:
-#line 1377 "compilers/imcc/imcc.y"
- { (yyval.s) = "add"; ;}
+#line 1381 "compilers/imcc/imcc.y"
+ { (yyval.s) = "add"; }
break;
case 239:
-#line 1378 "compilers/imcc/imcc.y"
- { (yyval.s) = "sub"; ;}
+#line 1382 "compilers/imcc/imcc.y"
+ { (yyval.s) = "sub"; }
break;
case 240:
-#line 1379 "compilers/imcc/imcc.y"
- { (yyval.s) = "mul"; ;}
+#line 1383 "compilers/imcc/imcc.y"
+ { (yyval.s) = "mul"; }
break;
case 241:
-#line 1380 "compilers/imcc/imcc.y"
- { (yyval.s) = "div"; ;}
+#line 1384 "compilers/imcc/imcc.y"
+ { (yyval.s) = "div"; }
break;
case 242:
-#line 1381 "compilers/imcc/imcc.y"
- { (yyval.s) = "mod"; ;}
+#line 1385 "compilers/imcc/imcc.y"
+ { (yyval.s) = "mod"; }
break;
case 243:
-#line 1382 "compilers/imcc/imcc.y"
- { (yyval.s) = "fdiv"; ;}
+#line 1386 "compilers/imcc/imcc.y"
+ { (yyval.s) = "fdiv"; }
break;
case 244:
-#line 1383 "compilers/imcc/imcc.y"
- { (yyval.s) = "concat"; ;}
+#line 1387 "compilers/imcc/imcc.y"
+ { (yyval.s) = "concat"; }
break;
case 245:
-#line 1384 "compilers/imcc/imcc.y"
- { (yyval.s) = "band"; ;}
+#line 1388 "compilers/imcc/imcc.y"
+ { (yyval.s) = "band"; }
break;
case 246:
-#line 1385 "compilers/imcc/imcc.y"
- { (yyval.s) = "bor"; ;}
+#line 1389 "compilers/imcc/imcc.y"
+ { (yyval.s) = "bor"; }
break;
case 247:
-#line 1386 "compilers/imcc/imcc.y"
- { (yyval.s) = "bxor"; ;}
+#line 1390 "compilers/imcc/imcc.y"
+ { (yyval.s) = "bxor"; }
break;
case 248:
-#line 1387 "compilers/imcc/imcc.y"
- { (yyval.s) = "shr"; ;}
+#line 1391 "compilers/imcc/imcc.y"
+ { (yyval.s) = "shr"; }
break;
case 249:
-#line 1388 "compilers/imcc/imcc.y"
- { (yyval.s) = "shl"; ;}
+#line 1392 "compilers/imcc/imcc.y"
+ { (yyval.s) = "shl"; }
break;
case 250:
-#line 1389 "compilers/imcc/imcc.y"
- { (yyval.s) = "lsr"; ;}
+#line 1393 "compilers/imcc/imcc.y"
+ { (yyval.s) = "lsr"; }
break;
case 251:
-#line 1395 "compilers/imcc/imcc.y"
+#line 1399 "compilers/imcc/imcc.y"
{ (yyval.i) = func_ins(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(1) -
(4)].sr), (yyvsp[(3) - (4)].s),
IMCC_INFO(interp) -> regs,
IMCC_INFO(interp) -> nargs,
IMCC_INFO(interp) -> keyvec, 1);
free((yyvsp[(3) - (4)].s));
- ;}
+ }
break;
case 252:
-#line 1403 "compilers/imcc/imcc.y"
- { (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); ;}
+#line 1407 "compilers/imcc/imcc.y"
+ { (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); }
break;
case 253:
-#line 1404 "compilers/imcc/imcc.y"
- { (yyval.sr) = mk_sub_address_fromc(interp, (yyvsp[(1) - (1)].s)); ;}
+#line 1408 "compilers/imcc/imcc.y"
+ { (yyval.sr) = mk_sub_address_fromc(interp, (yyvsp[(1) - (1)].s)); }
break;
case 254:
-#line 1405 "compilers/imcc/imcc.y"
- { (yyval.sr) = mk_sub_address_u(interp, (yyvsp[(1) - (1)].s)); ;}
+#line 1409 "compilers/imcc/imcc.y"
+ { (yyval.sr) = mk_sub_address_u(interp, (yyvsp[(1) - (1)].s)); }
break;
case 255:
-#line 1406 "compilers/imcc/imcc.y"
+#line 1410 "compilers/imcc/imcc.y"
{ (yyval.sr) = (yyvsp[(1) - (1)].sr);
if ((yyvsp[(1) - (1)].sr)->set != 'P')
IMCC_fataly(interp, E_SyntaxError,
"Sub isn't a PMC");
- ;}
+ }
break;
case 256:
-#line 1411 "compilers/imcc/imcc.y"
- { IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr); (yyval.sr) =
(yyvsp[(3) - (3)].sr); ;}
+#line 1415 "compilers/imcc/imcc.y"
+ { IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr); (yyval.sr) =
(yyvsp[(3) - (3)].sr); }
break;
case 257:
-#line 1412 "compilers/imcc/imcc.y"
- { IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr); (yyval.sr) =
mk_const(interp, (yyvsp[(3) - (3)].s), 'S'); ;}
+#line 1416 "compilers/imcc/imcc.y"
+ { IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr); (yyval.sr) =
mk_const(interp, (yyvsp[(3) - (3)].s), 'S'); }
break;
case 258:
-#line 1413 "compilers/imcc/imcc.y"
- { IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr); (yyval.sr) =
(yyvsp[(3) - (3)].sr); ;}
+#line 1417 "compilers/imcc/imcc.y"
+ { IMCC_INFO(interp)->cur_obj = (yyvsp[(1) - (3)].sr); (yyval.sr) =
(yyvsp[(3) - (3)].sr); }
break;
case 259:
-#line 1419 "compilers/imcc/imcc.y"
+#line 1423 "compilers/imcc/imcc.y"
{
(yyval.i) = IMCC_create_itcall_label(interp);
IMCC_itcall_sub(interp, (yyvsp[(1) - (1)].sr));
- ;}
+ }
break;
case 260:
-#line 1424 "compilers/imcc/imcc.y"
- { (yyval.i) = (yyvsp[(2) - (5)].i); ;}
+#line 1428 "compilers/imcc/imcc.y"
+ { (yyval.i) = (yyvsp[(2) - (5)].i); }
break;
case 261:
-#line 1428 "compilers/imcc/imcc.y"
- { (yyval.sr) = 0; ;}
+#line 1432 "compilers/imcc/imcc.y"
+ { (yyval.sr) = 0; }
break;
case 262:
-#line 1429 "compilers/imcc/imcc.y"
+#line 1433 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0;
if (IMCC_INFO(interp)->adv_named_id) {
add_pcc_named_arg(interp, IMCC_INFO(interp)->cur_call,
IMCC_INFO(interp)->adv_named_id, (yyvsp[(3) - (3)].sr));
IMCC_INFO(interp)->adv_named_id = NULL;
}
else add_pcc_arg(IMCC_INFO(interp)->cur_call, (yyvsp[(3) - (3)].sr));
- ;}
+ }
break;
case 263:
-#line 1436 "compilers/imcc/imcc.y"
+#line 1440 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0;
if (IMCC_INFO(interp)->adv_named_id) {
add_pcc_named_arg(interp, IMCC_INFO(interp)->cur_call,
IMCC_INFO(interp)->adv_named_id, (yyvsp[(1) - (1)].sr));
IMCC_INFO(interp)->adv_named_id = NULL;
}
else add_pcc_arg(IMCC_INFO(interp)->cur_call, (yyvsp[(1) - (1)].sr));
- ;}
+ }
break;
case 264:
-#line 1443 "compilers/imcc/imcc.y"
+#line 1447 "compilers/imcc/imcc.y"
{ (yyval.sr) = 0;
- add_pcc_named_arg(interp,
IMCC_INFO(interp)->cur_call, (yyvsp[(3) - (5)].s), (yyvsp[(5) - (5)].sr));;}
+ add_pcc_named_arg(interp,
IMCC_INFO(interp)->cur_call, (yyvsp[(3) - (5)].s), (yyvsp[(5) - (5)].sr));}
break;
case 265:
-#line 1445 "compilers/imcc/imcc.y"
- { (yyval.sr) = 0; add_pcc_named_arg(interp, IMCC_INFO(interp)->cur_call,
(yyvsp[(1) - (3)].s), (yyvsp[(3) - (3)].sr));;}
+#line 1449 "compilers/imcc/imcc.y"
+ { (yyval.sr) = 0; add_pcc_named_arg(interp, IMCC_INFO(interp)->cur_call,
(yyvsp[(1) - (3)].s), (yyvsp[(3) - (3)].sr));}
break;
case 266:
-#line 1449 "compilers/imcc/imcc.y"
- { (yyval.sr) = (yyvsp[(1) - (2)].sr); (yyval.sr)->type |= (yyvsp[(2) -
(2)].t); ;}
+#line 1453 "compilers/imcc/imcc.y"
+ { (yyval.sr) = (yyvsp[(1) - (2)].sr); (yyval.sr)->type |= (yyvsp[(2) -
(2)].t); }
break;
case 267:
-#line 1453 "compilers/imcc/imcc.y"
- { (yyval.t) = 0; ;}
+#line 1457 "compilers/imcc/imcc.y"
+ { (yyval.t) = 0; }
break;
case 268:
-#line 1454 "compilers/imcc/imcc.y"
- { (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); ;}
+#line 1458 "compilers/imcc/imcc.y"
+ { (yyval.t) = (yyvsp[(1) - (2)].t) | (yyvsp[(2) - (2)].t); }
break;
case 269:
-#line 1458 "compilers/imcc/imcc.y"
- { (yyval.t) = VT_FLAT; ;}
+#line 1462 "compilers/imcc/imcc.y"
+ { (yyval.t) = VT_FLAT; }
break;
case 270:
-#line 1459 "compilers/imcc/imcc.y"
- { (yyval.t) = VT_NAMED; ;}
+#line 1463 "compilers/imcc/imcc.y"
+ { (yyval.t) = VT_NAMED; }
break;
case 271:
-#line 1460 "compilers/imcc/imcc.y"
- { adv_named_set(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; ;}
+#line 1464 "compilers/imcc/imcc.y"
+ { adv_named_set(interp, (yyvsp[(3) - (4)].s)); (yyval.t) = 0; }
break;
case 272:
-#line 1463 "compilers/imcc/imcc.y"
- { (yyval.sr) = (yyvsp[(1) - (2)].sr); (yyval.sr)->type |= (yyvsp[(2) -
(2)].t); ;}
+#line 1467 "compilers/imcc/imcc.y"
+ { (yyval.sr) = (yyvsp[(1) - (2)].sr); (yyval.sr)->type |= (yyvsp[(2) -
(2)].t); }
break;
case 273:
-#line 1467 "compilers/imcc/imcc.y"
+#line 1471 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
if (IMCC_INFO(interp)->adv_named_id) {
add_pcc_named_result(interp, IMCC_INFO(interp)->cur_call,
IMCC_INFO(interp)->adv_named_id, (yyvsp[(3) - (3)].sr));
IMCC_INFO(interp)->adv_named_id = NULL;
}
- else add_pcc_result(IMCC_INFO(interp)->cur_call, (yyvsp[(3) -
(3)].sr)); ;}
+ else add_pcc_result(IMCC_INFO(interp)->cur_call, (yyvsp[(3) -
(3)].sr)); }
break;
case 274:
-#line 1474 "compilers/imcc/imcc.y"
+#line 1478 "compilers/imcc/imcc.y"
{
- add_pcc_named_result(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(3) -
(5)].s), (yyvsp[(5) - (5)].sr)); ;}
+ add_pcc_named_result(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(3) -
(5)].s), (yyvsp[(5) - (5)].sr)); }
break;
case 275:
-#line 1476 "compilers/imcc/imcc.y"
+#line 1480 "compilers/imcc/imcc.y"
{
(yyval.sr) = 0;
if (IMCC_INFO(interp)->adv_named_id) {
add_pcc_named_result(interp, IMCC_INFO(interp)->cur_call,
IMCC_INFO(interp)->adv_named_id, (yyvsp[(1) - (1)].sr));
IMCC_INFO(interp)->adv_named_id = NULL;
}
- else add_pcc_result(IMCC_INFO(interp)->cur_call, (yyvsp[(1) -
(1)].sr)); ;}
+ else add_pcc_result(IMCC_INFO(interp)->cur_call, (yyvsp[(1) -
(1)].sr)); }
break;
case 276:
-#line 1483 "compilers/imcc/imcc.y"
- { add_pcc_named_result(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(1) -
(3)].s), (yyvsp[(3) - (3)].sr)); ;}
+#line 1487 "compilers/imcc/imcc.y"
+ { add_pcc_named_result(interp, IMCC_INFO(interp)->cur_call, (yyvsp[(1) -
(3)].s), (yyvsp[(3) - (3)].sr)); }
break;
case 277:
-#line 1484 "compilers/imcc/imcc.y"
- { (yyval.sr) = 0; ;}
+#line 1488 "compilers/imcc/imcc.y"
+ { (yyval.sr) = 0; }
break;
case 278:
-#line 1488 "compilers/imcc/imcc.y"
- { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
+#line 1492 "compilers/imcc/imcc.y"
+ { (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 279:
-#line 1489 "compilers/imcc/imcc.y"
- { (yyval.i) = (yyvsp[(1) - (1)].i); ;}
+#line 1493 "compilers/imcc/imcc.y"
+ { (yyval.i) = (yyvsp[(1) - (1)].i); }
break;
case 280:
-#line 1494 "compilers/imcc/imcc.y"
- { (yyval.i) =MK_I(interp, IMCC_INFO(interp)->cur_unit, inv_op((yyvsp[(3) -
(6)].s)), 3, (yyvsp[(2) - (6)].sr), (yyvsp[(4) - (6)].sr), (yyvsp[(6) -
(6)].sr)); ;}
+#line 1498 "compilers/imcc/imcc.y"
+ { (yyval.i) =MK_I(interp, IMCC_INFO(interp)->cur_unit, inv_op((yyvsp[(3) -
(6)].s)), 3, (yyvsp[(2) - (6)].sr), (yyvsp[(4) - (6)].sr), (yyvsp[(6) -
(6)].sr)); }
break;
case 281:
-#line 1496 "compilers/imcc/imcc.y"
- { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "unless_null", 2,
(yyvsp[(3) - (5)].sr), (yyvsp[(5) - (5)].sr)); ;}
+#line 1500 "compilers/imcc/imcc.y"
+ { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "unless_null", 2,
(yyvsp[(3) - (5)].sr), (yyvsp[(5) - (5)].sr)); }
break;
case 282:
-#line 1498 "compilers/imcc/imcc.y"
- { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "unless", 2,
(yyvsp[(2) - (4)].sr), (yyvsp[(4) - (4)].sr)); ;}
+#line 1502 "compilers/imcc/imcc.y"
+ { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "unless", 2,
(yyvsp[(2) - (4)].sr), (yyvsp[(4) - (4)].sr)); }
break;
case 283:
-#line 1503 "compilers/imcc/imcc.y"
- { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "if", 2,
(yyvsp[(2) - (4)].sr), (yyvsp[(4) - (4)].sr)); ;}
+#line 1507 "compilers/imcc/imcc.y"
+ { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "if", 2,
(yyvsp[(2) - (4)].sr), (yyvsp[(4) - (4)].sr)); }
break;
case 284:
-#line 1505 "compilers/imcc/imcc.y"
- { (yyval.i) =MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) -
(6)].s), 3, (yyvsp[(2) - (6)].sr), (yyvsp[(4) - (6)].sr), (yyvsp[(6) -
(6)].sr)); ;}
+#line 1509 "compilers/imcc/imcc.y"
+ { (yyval.i) =MK_I(interp, IMCC_INFO(interp)->cur_unit, (yyvsp[(3) -
(6)].s), 3, (yyvsp[(2) - (6)].sr), (yyvsp[(4) - (6)].sr), (yyvsp[(6) -
(6)].sr)); }
break;
case 285:
-#line 1507 "compilers/imcc/imcc.y"
- { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "if_null", 2,
(yyvsp[(3) - (5)].sr), (yyvsp[(5) - (5)].sr)); ;}
+#line 1511 "compilers/imcc/imcc.y"
+ { (yyval.i) = MK_I(interp, IMCC_INFO(interp)->cur_unit, "if_null", 2,
(yyvsp[(3) - (5)].sr), (yyvsp[(5) - (5)].sr)); }
break;
case 286:
-#line 1511 "compilers/imcc/imcc.y"
- { (yyval.t) = 0; ;}
+#line 1515 "compilers/imcc/imcc.y"
+ { (yyval.t) = 0; }
break;
case 287:
-#line 1512 "compilers/imcc/imcc.y"
- { (yyval.t) = 0; ;}
+#line 1516 "compilers/imcc/imcc.y"
+ { (yyval.t) = 0; }
break;
case 288:
-#line 1516 "compilers/imcc/imcc.y"
- { (yyval.s) = "eq"; ;}
+#line 1520 "compilers/imcc/imcc.y"
+ { (yyval.s) = "eq"; }
break;
case 289:
-#line 1517 "compilers/imcc/imcc.y"
- { (yyval.s) = "ne"; ;}
+#line 1521 "compilers/imcc/imcc.y"
+ { (yyval.s) = "ne"; }
break;
case 290:
-#line 1518 "compilers/imcc/imcc.y"
- { (yyval.s) = "gt"; ;}
+#line 1522 "compilers/imcc/imcc.y"
+ { (yyval.s) = "gt"; }
break;
case 291:
-#line 1519 "compilers/imcc/imcc.y"
- { (yyval.s) = "ge"; ;}
+#line 1523 "compilers/imcc/imcc.y"
+ { (yyval.s) = "ge"; }
break;
case 292:
-#line 1520 "compilers/imcc/imcc.y"
- { (yyval.s) = "lt"; ;}
+#line 1524 "compilers/imcc/imcc.y"
+ { (yyval.s) = "lt"; }
break;
case 293:
-#line 1521 "compilers/imcc/imcc.y"
- { (yyval.s) = "le"; ;}
+#line 1525 "compilers/imcc/imcc.y"
+ { (yyval.s) = "le"; }
break;
case 296:
-#line 1530 "compilers/imcc/imcc.y"
- { (yyval.sr) = NULL; ;}
+#line 1534 "compilers/imcc/imcc.y"
+ { (yyval.sr) = NULL; }
break;
case 297:
-#line 1531 "compilers/imcc/imcc.y"
- { (yyval.sr) = (yyvsp[(1) - (1)].sr); ;}
+#line 1535 "compilers/imcc/imcc.y"
+ { (yyval.sr) = (yyvsp[(1) - (1)].sr); }
break;
case 298:
-#line 1535 "compilers/imcc/imcc.y"
- { (yyval.sr) = IMCC_INFO(interp)->regs[0]; ;}
+#line 1539 "compilers/imcc/imcc.y"
+ { (yyval.sr) = IMCC_INFO(interp)->regs[0]; }
break;
case 300:
-#line 1540 "compilers/imcc/imcc.y"
- { IMCC_INFO(interp)->regs[IMCC_INFO(interp)->nargs++] = (yyvsp[(1) -
(1)].sr); ;}
+#line 1544 "compilers/imcc/imcc.y"
+ { IMCC_INFO(interp)->regs[IMCC_INFO(interp)->nargs++] = (yyvsp[(1) -
(1)].sr); }
break;
case 301:
-#line 1542 "compilers/imcc/imcc.y"
+#line 1546 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp) -> regs[IMCC_INFO(interp)->nargs++] =
(yyvsp[(1) - (4)].sr);
IMCC_INFO(interp) -> keyvec |=
KEY_BIT(IMCC_INFO(interp)->nargs);
IMCC_INFO(interp) -> regs[IMCC_INFO(interp)->nargs++] =
(yyvsp[(3) - (4)].sr);
(yyval.sr) = (yyvsp[(1) - (4)].sr);
- ;}
+ }
break;
case 302:
-#line 1549 "compilers/imcc/imcc.y"
+#line 1553 "compilers/imcc/imcc.y"
{
IMCC_INFO(interp) -> regs[IMCC_INFO(interp)->nargs++] =
(yyvsp[(2) - (3)].sr);
(yyval.sr) = (yyvsp[(2) - (3)].sr);
- ;}
+ }
break;
case 304:
-#line 1556 "compilers/imcc/imcc.y"
- { (yyval.sr) = mk_sub_address_fromc(interp, (yyvsp[(1) - (1)].s)); ;}
+#line 1560 "compilers/imcc/imcc.y"
+ { (yyval.sr) = mk_sub_address_fromc(interp, (yyvsp[(1) - (1)].s)); }
break;
case 305:
-#line 1557 "compilers/imcc/imcc.y"
- { (yyval.sr) = mk_sub_address_u(interp, (yyvsp[(1) - (1)].s)); ;}
+#line 1561 "compilers/imcc/imcc.y"
+ { (yyval.sr) = mk_sub_address_u(interp, (yyvsp[(1) - (1)].s)); }
break;
case 306:
-#line 1561 "compilers/imcc/imcc.y"
- { (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); ;}
+#line 1565 "compilers/imcc/imcc.y"
+ { (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); }
break;
case 307:
-#line 1562 "compilers/imcc/imcc.y"
- { (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); ;}
+#line 1566 "compilers/imcc/imcc.y"
+ { (yyval.sr) = mk_sub_address(interp, (yyvsp[(1) - (1)].s)); }
break;
case 308:
-#line 1566 "compilers/imcc/imcc.y"
- { (yyval.sr) = mk_label_address(interp, (yyvsp[(1) - (1)].s)); ;}
+#line 1570 "compilers/imcc/imcc.y"
+ { (yyval.sr) = mk_label_address(interp, (yyvsp[(1) - (1)].s)); }
break;
case 309:
-#line 1567 "compilers/imcc/imcc.y"
- { (yyval.sr) = mk_label_address(interp, (yyvsp[(1) - (1)].s)); ;}
+#line 1571 "compilers/imcc/imcc.y"
+ { (yyval.sr) = mk_label_address(interp, (yyvsp[(1) - (1)].s)); }
break;
case 314:
-#line 1580 "compilers/imcc/imcc.y"
+#line 1584 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->nkeys = 0;
- IMCC_INFO(interp)->in_slice = 0; ;}
+ IMCC_INFO(interp)->in_slice = 0; }
break;
case 315:
-#line 1582 "compilers/imcc/imcc.y"
+#line 1586 "compilers/imcc/imcc.y"
{ (yyval.sr) = link_keys(interp,
IMCC_INFO(interp)->nkeys,
- IMCC_INFO(interp)->keys, 0); ;}
+ IMCC_INFO(interp)->keys, 0); }
break;
case 316:
-#line 1587 "compilers/imcc/imcc.y"
+#line 1591 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->nkeys = 0;
- IMCC_INFO(interp)->in_slice = 0; ;}
+ IMCC_INFO(interp)->in_slice = 0; }
break;
case 317:
-#line 1589 "compilers/imcc/imcc.y"
+#line 1593 "compilers/imcc/imcc.y"
{ (yyval.sr) = link_keys(interp,
IMCC_INFO(interp)->nkeys,
- IMCC_INFO(interp)->keys, 1); ;}
+ IMCC_INFO(interp)->keys, 1); }
break;
case 318:
-#line 1595 "compilers/imcc/imcc.y"
- { IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = (yyvsp[(1) -
(1)].sr); ;}
+#line 1599 "compilers/imcc/imcc.y"
+ { IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = (yyvsp[(1) -
(1)].sr); }
break;
case 319:
-#line 1597 "compilers/imcc/imcc.y"
+#line 1601 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = (yyvsp[(3) -
(3)].sr);
- (yyval.sr) = IMCC_INFO(interp)->keys[0]; ;}
+ (yyval.sr) = IMCC_INFO(interp)->keys[0]; }
break;
case 320:
-#line 1599 "compilers/imcc/imcc.y"
- { IMCC_INFO(interp)->in_slice = 1; ;}
+#line 1603 "compilers/imcc/imcc.y"
+ { IMCC_INFO(interp)->in_slice = 1; }
break;
case 321:
-#line 1600 "compilers/imcc/imcc.y"
+#line 1604 "compilers/imcc/imcc.y"
{ IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] = (yyvsp[(4) -
(4)].sr);
- (yyval.sr) = IMCC_INFO(interp)->keys[0]; ;}
+ (yyval.sr) = IMCC_INFO(interp)->keys[0]; }
break;
case 322:
-#line 1605 "compilers/imcc/imcc.y"
+#line 1609 "compilers/imcc/imcc.y"
{ if (IMCC_INFO(interp)->in_slice) {
(yyvsp[(1) - (1)].sr)->type |= VT_START_SLICE |
VT_END_SLICE;
}
(yyval.sr) = (yyvsp[(1) - (1)].sr);
- ;}
+ }
break;
case 323:
-#line 1611 "compilers/imcc/imcc.y"
+#line 1615 "compilers/imcc/imcc.y"
{ (yyvsp[(1) - (3)].sr)->type |= VT_START_SLICE;
(yyvsp[(3) - (3)].sr)->type |= VT_END_SLICE;
IMCC_INFO(interp)->keys[IMCC_INFO(interp)->nkeys++] =
(yyvsp[(1) - (3)].sr);
- (yyval.sr) = (yyvsp[(3) - (3)].sr); ;}
+ (yyval.sr) = (yyvsp[(3) - (3)].sr); }
break;
case 324:
-#line 1615 "compilers/imcc/imcc.y"
- { (yyvsp[(2) - (2)].sr)->type |= VT_START_ZERO | VT_END_SLICE; (yyval.sr)
= (yyvsp[(2) - (2)].sr); ;}
+#line 1619 "compilers/imcc/imcc.y"
+ { (yyvsp[(2) - (2)].sr)->type |= VT_START_ZERO | VT_END_SLICE; (yyval.sr)
= (yyvsp[(2) - (2)].sr); }
break;
case 325:
-#line 1616 "compilers/imcc/imcc.y"
- { (yyvsp[(1) - (2)].sr)->type |= VT_START_SLICE | VT_END_INF; (yyval.sr) =
(yyvsp[(1) - (2)].sr); ;}
+#line 1620 "compilers/imcc/imcc.y"
+ { (yyvsp[(1) - (2)].sr)->type |= VT_START_SLICE | VT_END_INF; (yyval.sr) =
(yyvsp[(1) - (2)].sr); }
break;
case 326:
-#line 1620 "compilers/imcc/imcc.y"
- { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'I'); ;}
+#line 1624 "compilers/imcc/imcc.y"
+ { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'I'); }
break;
case 327:
-#line 1621 "compilers/imcc/imcc.y"
- { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'N'); ;}
+#line 1625 "compilers/imcc/imcc.y"
+ { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'N'); }
break;
case 328:
-#line 1622 "compilers/imcc/imcc.y"
- { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'S'); ;}
+#line 1626 "compilers/imcc/imcc.y"
+ { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'S'); }
break;
case 329:
-#line 1623 "compilers/imcc/imcc.y"
- { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'P'); ;}
+#line 1627 "compilers/imcc/imcc.y"
+ { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'P'); }
break;
case 330:
-#line 1624 "compilers/imcc/imcc.y"
- { (yyval.sr) = mk_pasm_reg(interp, (yyvsp[(1) - (1)].s)); ;}
+#line 1628 "compilers/imcc/imcc.y"
+ { (yyval.sr) = mk_pasm_reg(interp, (yyvsp[(1) - (1)].s)); }
break;
case 331:
-#line 1628 "compilers/imcc/imcc.y"
- { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'I'); ;}
+#line 1632 "compilers/imcc/imcc.y"
+ { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'I'); }
break;
case 332:
-#line 1629 "compilers/imcc/imcc.y"
- { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'N'); ;}
+#line 1633 "compilers/imcc/imcc.y"
+ { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'N'); }
break;
case 333:
-#line 1630 "compilers/imcc/imcc.y"
- { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'S'); ;}
+#line 1634 "compilers/imcc/imcc.y"
+ { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'S'); }
break;
case 334:
-#line 1631 "compilers/imcc/imcc.y"
- { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'U'); ;}
+#line 1635 "compilers/imcc/imcc.y"
+ { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'U'); }
break;
case 335:
-#line 1635 "compilers/imcc/imcc.y"
- { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'S'); ;}
+#line 1639 "compilers/imcc/imcc.y"
+ { (yyval.sr) = mk_symreg(interp, (yyvsp[(1) - (1)].s), 'S'); }
break;
case 336:
-#line 1636 "compilers/imcc/imcc.y"
- { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'S'); ;}
+#line 1640 "compilers/imcc/imcc.y"
+ { (yyval.sr) = mk_const(interp, (yyvsp[(1) - (1)].s), 'S'); }
break;
/* Line 1267 of yacc.c. */
-#line 4471 "compilers/imcc/imcparser.c"
+#line 4475 "compilers/imcc/imcparser.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -5005,7 +4696,7 @@
}
-#line 1641 "compilers/imcc/imcc.y"
+#line 1645 "compilers/imcc/imcc.y"
/* I need this prototype somewhere... */
@@ -5060,21 +4751,10 @@
return 0;
}
-
-/*
-
-=back
-
-=head1 SEE ALSO
-
-=cut
-
-*/
-
-
/*
* Local variables:
* c-file-style: "parrot"
* End:
* vim: expandtab shiftwidth=4:
*/
+
|
|