#include "lib.h"
#define Macro( Param1, Param2 ) Param1 + Param2

static int i, (far *pfi) ();

int v = 0;
int ArrayName[XSize][YSize] = {{Init1, Init2}, {Init3}};

enum EnumName {Enum=1, Enum2};

struct StructName {
     int Field, Field;
     int Field : Width;
};

void ANSIProtoFunc1 ();
void ANSIProtoFunc2 ();

static int ANSIFunction (char Param[], int *PtrParam)
{
     long int Variable;
     int Variable;

     if (Expression) {
          Statement;
     }
     else if (Expression) {
          Statement;
     }
     else {
          Statement;
     }
     if (Expression) {
          int LocalVariable;
          int LocalVariable;

          Statement;
          Statement;
     }
     else if (Expression) {
          int LocalVariable;
          int LocalVariable;

          Statement;
          Statement;
     }
     else {
          int LocalVariable;
          int LocalVariable;

          Statement;
          Statement;
     }
     Array [Index].Field = (int *) PostOp++ * ++PreOp;
     Struct->Field = -UnaryOp * sizeof Variable;
     if ((Value = FunctionName ()) == sizeof (Type))
          Statement;
     else if (Expression)
          Statement;
     else
          Statement;
     {
          Statement;
     }
     {
          int LocalVariable;
          int LocalVariable;

          Statement;
          Statement;
     }
     while (Expression)
          Statement;
     while (Expression) {
          Statement;
     }
     while (Expression) {
          int LocalVariable;
          int LocalVariable;

          Statement;
          Statement;
     }
     switch (Expression) {
     case Value: {
          Statement;
          break;
     }
     default:
          Statement;
          break;
     }
     return Expression;
}

void KnRFunction (Param1, Param2)
int Param1;
int Param2;
{
     FunctionCall (Param, TestExpr ? ThenExpr : ElseExpr);
     goto Label;
     for (Expression; Expression; Expression, CommaExpression)
          Statement;
     for (Expression; Expression; Expression, CommaExpression) {
          Statement;
     }
     for (Expression; Expression; Expression, CommaExpression) {
          int LocalVariable;
          int LocalVariable;

          Statement;
          Statement;
     }
     do
          Statement;
     while (Expression);
     do {
          Statement;
     } while (Expression);
     do {
          int LocalVariable;
          int LocalVariable;

          Statement;
          Statement;
     } while (Expression);
     return (Expression);
}

