mageec  0.1.0
MAchine Guided Energy Efficient Compilation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Classes | Macros | Typedefs | Functions | Variables
implicitatt.c File Reference
#include "defns.i"
#include "extern.i"
#include <ctype.h>

Go to the source code of this file.

Classes

union  _xstack_elt
 

Macros

#define FailSyn(Msg)   {DefSyntaxError(Msg); return false;}
 
#define FailSem(Msg)   {DefSemanticsError(Fi, Msg, OpCode); return false;}
 
#define cval   _cont_val
 
#define sval   _string_val
 
#define dval   _discr_val
 
#define CUnknownVal(AV)   (AV.cval==_UNK.cval)
 
#define DUnknownVal(AV)   (AV.dval==_UNK.dval)
 
#define DUNA(a)   (DUnknownVal(XStack[a]) || NotApplicVal(XStack[a]))
 
#define CUNA(a)   (CUnknownVal(XStack[a]) || NotApplicVal(XStack[a]))
 
#define C1(x)   (CUNA(XSN-1) ? _UNK.cval : (x))
 
#define C2(x)   (CUNA(XSN-1) || CUNA(XSN-2) ? _UNK.cval : (x))
 
#define CD2(x)   (CUNA(XSN-1) || CUNA(XSN-2) ? _UNK.dval : (x))
 
#define D2(x)   (DUNA(XSN-1) || DUNA(XSN-2) ? _UNK.dval : (x))
 

Typedefs

typedef union _xstack_elt XStackElt
 

Functions

void ImplicitAtt (FILE *Nf)
 
void ReadDefinition (FILE *f)
 
void Append (char c)
 
Boolean Expression ()
 
Boolean Conjunct ()
 
Boolean SExpression ()
 
Boolean AExpression ()
 
Boolean Term ()
 
Boolean Factor ()
 
Boolean Primary ()
 
Boolean Atom ()
 
Boolean Find (String S)
 
int FindOne (String *Alt)
 
Attribute FindAttName ()
 
void DefSyntaxError (String Msg)
 
void DefSemanticsError (int Fi, String Msg, int OpCode)
 
void Dump (char OpCode, ContValue F, String S, int Fi)
 
void DumpOp (char OpCode, int Fi)
 
Boolean UpdateTStack (char OpCode, ContValue F, String S, int Fi)
 
AttValue EvaluateDef (Definition D, DataRec Case)
 

Variables

char * Buff
 
int BuffSize
 
int BN
 
EltRecTStack
 
int TStackSize
 
int TSN
 
int DefSize
 
int DN
 
Boolean PreviousError
 
AttValue _UNK
 
AttValue _NA
 
String RelOps [] = {">=", "<=", "!=", "<>", ">", "<", "=", (String) 0}
 
String AddOps [] = {"+", "-", (String) 0}
 
String MultOps [] = {"*", "/", "%", (String) 0}
 
String Funcs [] = {"sin", "cos", "tan", "log", "exp", "int", (String) 0}
 

Macro Definition Documentation

#define C1 (   x)    (CUNA(XSN-1) ? _UNK.cval : (x))

Definition at line 884 of file implicitatt.c.

#define C2 (   x)    (CUNA(XSN-1) || CUNA(XSN-2) ? _UNK.cval : (x))

Definition at line 885 of file implicitatt.c.

#define CD2 (   x)    (CUNA(XSN-1) || CUNA(XSN-2) ? _UNK.dval : (x))

Definition at line 886 of file implicitatt.c.

#define CUNA (   a)    (CUnknownVal(XStack[a]) || NotApplicVal(XStack[a]))

Definition at line 883 of file implicitatt.c.

#define CUnknownVal (   AV)    (AV.cval==_UNK.cval)

Definition at line 880 of file implicitatt.c.

#define cval   _cont_val

Definition at line 65 of file implicitatt.c.

#define D2 (   x)    (DUNA(XSN-1) || DUNA(XSN-2) ? _UNK.dval : (x))

Definition at line 887 of file implicitatt.c.

#define DUNA (   a)    (DUnknownVal(XStack[a]) || NotApplicVal(XStack[a]))

Definition at line 882 of file implicitatt.c.

#define DUnknownVal (   AV)    (AV.dval==_UNK.dval)

Definition at line 881 of file implicitatt.c.

#define dval   _discr_val

Definition at line 67 of file implicitatt.c.

#define FailSem (   Msg)    {DefSemanticsError(Fi, Msg, OpCode); return false;}

Definition at line 55 of file implicitatt.c.

#define FailSyn (   Msg)    {DefSyntaxError(Msg); return false;}

Definition at line 54 of file implicitatt.c.

#define sval   _string_val

Definition at line 66 of file implicitatt.c.

Typedef Documentation

typedef union _xstack_elt XStackElt

Function Documentation

Boolean AExpression ( )

Definition at line 319 of file implicitatt.c.

void Append ( char  c)

Definition at line 217 of file implicitatt.c.

Boolean Atom ( )

Definition at line 419 of file implicitatt.c.

Boolean Conjunct ( )

Definition at line 267 of file implicitatt.c.

void DefSemanticsError ( int  Fi,
String  Msg,
int  OpCode 
)

Definition at line 669 of file implicitatt.c.

void DefSyntaxError ( String  Msg)

Definition at line 639 of file implicitatt.c.

void Dump ( char  OpCode,
ContValue  F,
String  S,
int  Fi 
)

Definition at line 731 of file implicitatt.c.

void DumpOp ( char  OpCode,
int  Fi 
)

Definition at line 760 of file implicitatt.c.

AttValue EvaluateDef ( Definition  D,
DataRec  Case 
)

Definition at line 890 of file implicitatt.c.

Boolean Expression ( )

Definition at line 244 of file implicitatt.c.

Boolean Factor ( )

Definition at line 372 of file implicitatt.c.

Boolean Find ( String  S)

Definition at line 563 of file implicitatt.c.

Attribute FindAttName ( )

Definition at line 602 of file implicitatt.c.

int FindOne ( String Alt)

Definition at line 580 of file implicitatt.c.

void ImplicitAtt ( FILE *  Nf)

Definition at line 83 of file implicitatt.c.

Boolean Primary ( )

Definition at line 393 of file implicitatt.c.

void ReadDefinition ( FILE *  f)

Definition at line 163 of file implicitatt.c.

Boolean SExpression ( )

Definition at line 290 of file implicitatt.c.

Boolean Term ( )

Definition at line 351 of file implicitatt.c.

Boolean UpdateTStack ( char  OpCode,
ContValue  F,
String  S,
int  Fi 
)

Definition at line 768 of file implicitatt.c.

Variable Documentation

AttValue _NA

Definition at line 50 of file implicitatt.c.

AttValue _UNK

Definition at line 50 of file implicitatt.c.

String AddOps[] = {"+", "-", (String) 0}

Definition at line 317 of file implicitatt.c.

int BN

Definition at line 41 of file implicitatt.c.

char* Buff

Definition at line 40 of file implicitatt.c.

int BuffSize

Definition at line 41 of file implicitatt.c.

int DefSize

Definition at line 46 of file implicitatt.c.

int DN

Definition at line 46 of file implicitatt.c.

String Funcs[] = {"sin", "cos", "tan", "log", "exp", "int", (String) 0}

Definition at line 417 of file implicitatt.c.

String MultOps[] = {"*", "/", "%", (String) 0}

Definition at line 349 of file implicitatt.c.

Boolean PreviousError

Definition at line 48 of file implicitatt.c.

String RelOps[] = {">=", "<=", "!=", "<>", ">", "<", "=", (String) 0}

Definition at line 288 of file implicitatt.c.

int TSN

Definition at line 44 of file implicitatt.c.

EltRec* TStack

Definition at line 43 of file implicitatt.c.

int TStackSize

Definition at line 44 of file implicitatt.c.