/* inreal.c */

/* generated by MARST -- Algol-to-C Translator, Version 2.1 */

#include "algol.h"

extern struct desc inreal_0 /* precompiled void procedure */
(     struct arg /* channel: by value integer */,
      struct arg /* re: by name real */
);

struct dsa_inreal_0
{     /* procedure inreal (level 0) declared at line 26 */
      char *proc;
      char *file;
      int line;
      struct dsa *parent;
      struct dsa *vector[0+1];
      /* level of innermost block = 2 */
      struct mem *old_top_0;
      struct mem *new_top_0;
      struct mem *old_top_1;
      struct mem *new_top_1;
      struct mem *old_top_2;
      struct mem *new_top_2;
      /* procedure block 1 (level 0) beginning at line 26 */
      struct desc retval;
      /* channel: by value integer
         specified at line 28 and never referenced */
      int channel_1;
      /* re: by name real
         specified at line 29 and first referenced at line 32 */
      struct arg re_1;
      /* local block 2 (level 1) beginning at line 30 */
      /* local block 3 (level 2) beginning at line 30 */
      /* val: real
         declared at line 30 and first referenced at line 32 */
      double val_3;
};

struct desc inreal_0 /* precompiled void procedure */
(     struct arg channel_1 /* by value integer */,
      struct arg re_1 /* by name real */
)
{     struct dsa_inreal_0 my_dsa;
      register struct dsa_inreal_0 *dsa_0 = &my_dsa;
      my_dsa.proc = "inreal";
      my_dsa.file = "inreal.alg";
      my_dsa.line = 26;
      my_dsa.parent = active_dsa, active_dsa = (struct dsa *)&my_dsa;
      my_dsa.vector[0] = (void *)dsa_0;
      /* start of procedure block 1 (level 0) at line 26 */
      dsa_0->old_top_0 = stack_top;
      my_dsa.line = 28;
      my_dsa.channel_1 = get_int((global_dsa = channel_1.arg2, (*(
         struct desc (*)(void))channel_1.arg1)()));
      my_dsa.re_1 = re_1;
      dsa_0->new_top_0 = stack_top;
      /* start of local block 2 (level 1) at line 30 */
      dsa_0->old_top_1 = stack_top;
      dsa_0->new_top_1 = stack_top;
      dsa_0->line = 30;
      /* start of local block 3 (level 2) at line 30 */
      dsa_0->old_top_2 = stack_top;
      dsa_0->new_top_2 = stack_top;
      dsa_0->line = 31;
      /* inline code */
      my_dsa.val_3 = inreal(my_dsa.channel_1);
      dsa_0->line = 32;
      set_real((global_dsa = dsa_0->re_1.arg2, (*(struct desc (*)(void))
         dsa_0->re_1.arg1)()), dsa_0->val_3);
      pop_stack(dsa_0->old_top_2);
      /* end of block 3 */
      pop_stack(dsa_0->old_top_1);
      /* end of block 2 */
      pop_stack(dsa_0->old_top_0);
      /* end of block 1 */
      my_dsa.retval.lval = 0;
      my_dsa.retval.type = 0;
      active_dsa = my_dsa.parent;
      return my_dsa.retval;
}

/* eof */
