src/print.m File Reference

Walks tree to print as C. More...

#include "main.h"
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include "target_macro.h"
#include "ast.h"
#include "mangle.h"
#include "print.h"
#include "cons.h"
#include "symtable.h"
#include "typecheck.h"

Classes

class  Expr(Print)
 Precedence level printing for expressions. More...
class  Expr(Precedence)
struct  prec_entry
class  Method(Print)

Defines

#define SAY(str)   ( fputs((str), prout ) )
#define SAYC(c)   (fputc( c, prout ) )
#define SAYF(...)   (fprintf(prout, __VA_ARGS__ ))
#define TAB   " "
#define RECEIVER_TEMP   "$$"
#define PREC_MAX   15
#define PREC_UN   14
#define PREC_MUL   13
#define PREC_ADD   12
#define PREC_SHIFT   11
#define PREC_REQ   10
#define PREC_EQ   9
#define PREC_BAND   8
#define PREC_BXOR   7
#define PREC_BOR   6
#define PREC_LAND   5
#define PREC_LOR   4
#define PREC_COND   3
#define PREC_ASSIGN   2
#define PREC_COMMA   1

Variables

FILE * prout
prec_entry prec_table []
prec_entry prefix_prec_table []
prec_entry postfix_prec_table []


Detailed Description

Walks tree to print as C.


Variable Documentation

prec_entry postfix_prec_table[]

Initial value:

 {
  { .op = "++",  .prec = PREC_MAX },
  { .op = "--",  .prec = PREC_MAX },
}

prec_entry prefix_prec_table[]

Initial value:

 {
  { .op = "++", .prec = PREC_UN },
  { .op = "--", .prec = PREC_UN },
  { .op = "&",  .prec = PREC_UN },
  { .op = "*",  .prec = PREC_UN },
  { .op = "-",  .prec = PREC_UN },
  { .op = "~",  .prec = PREC_UN },
  { .op = "!",  .prec = PREC_UN },
}


Generated on Mon Dec 24 06:11:58 2007 for gfront by  doxygen 1.5.2