summaryrefslogtreecommitdiff
path: root/apps/interpreters/bas/autotypes.h
blob: 8c11eabbff68417f336fb146f81299dcc91b8140 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#ifndef AUTO_H
#define AUTO_H

#include "program.h"
#include "var.h"
#include "token.h"

struct Auto
{
  long int stackPointer;
  long int stackCapacity;
  long int framePointer;
  long int frameSize;
  struct Pc onerror;
  union AutoSlot *slot;
  long int erl;
  struct Pc erpc;
  struct Value err;
  int resumeable;

  struct Symbol *cur,*all;
};

union AutoSlot
{
  struct
  {
    long int framePointer;
    long int frameSize;
    struct Pc pc;
  } ret;
  struct Var var;
};

#endif