Source Documentation¶
Lab2¶
-
class
Parser¶ - #include <lab2.hh>
-
class
ParserEndOfFile¶ - #include <lab2.hh>
-
class
ParserError¶ - #include <lab2.hh>
-
class
Scanner¶ - #include <lex.hh>
-
class
ScannerError¶ - #include <lex.hh>
-
class
Token¶ - #include <lex.hh>
-
class
Trace¶ - #include <lab2.hh>
Private Members
-
char *
name¶
Private Static Attributes
-
static int
indent= 0¶
-
char *
-
namespace
std¶
-
file
lab2.cc - #include “lab2.hh”
-
file
lab2.hh - #include <iostream>#include “lex.hh”
-
file
lex.cc - #include “lex.hh”#include <stdlib.h>#include <string.h>#include <stdio.h>#include <ctype.h>
Functions
-
ostream &
operator<<(ostream &s, ScannerError &e)¶
Variables
-
static char *
kTokenTypeNames[] = {"uninitialized", "number", "identifier", "plus", "minus", "times", "divide", "left paren", "right paren", "assignment", "end of file", "end of line", "power"}¶
-
ostream &
-
file
lex.hh - #include <iostream>
Enums
-
enum
TokenType¶ Values:
-
enumerator
kUninitialized¶
-
enumerator
kNumber¶
-
enumerator
kIdentifier¶
-
enumerator
kPlus¶
-
enumerator
kMinus¶
-
enumerator
kTimes¶
-
enumerator
kDivide¶
-
enumerator
kLeftParen¶
-
enumerator
kRightParen¶
-
enumerator
kAssign¶
-
enumerator
kEndMark¶
-
enumerator
kEndOfLine¶
-
enumerator
kPower¶
-
enumerator
Variables
-
const int
kMaxTokenLength= 1024¶
-
enum
-
file
main.cc - #include <iostream>#include <stdlib.h>#include “lab2.hh”#include “lex.hh”
Functions
-
int
main(void)¶
-
int
-
dir
/home/marsj/dev/tddb44-webpage/tddd55-lab/lab2
Lab3-4¶
-
class
And: public BinaryCondition¶ - #include <ast.hh>
Public Functions
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
virtual VariableInformation *
-
class
ArrayReference: public LeftValue¶ - #include <ast.hh>
Public Functions
-
inline
ArrayReference(VariableInformation *i, Expression *x)¶
-
virtual void
GenerateAssignment(QuadsList &q, VariableInformation *val)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
Assignment: public Statement¶ - #include <ast.hh>
Public Functions
-
inline
Assignment(LeftValue *l, Expression *r)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
ASTNode¶ - #include <ast.hh>
Subclassed by Condition, ElseIfList, Expression, ExpressionList, Statement, StatementList
Public Functions
-
virtual VariableInformation *
GenerateCode(QuadsList &q) = 0¶
-
virtual VariableInformation *
GenerateCodeAndJump(QuadsList &q, long label)¶
Protected Functions
-
void
indent(ostream &o)¶
-
void
indentMore(void)¶
-
void
indentLess(void)¶
-
void
beginChild(ostream &o)¶
-
void
endChild(ostream &o)¶
-
void
lastChild(ostream &o)¶
-
virtual void
print(ostream &o)¶
-
virtual void
xprint(ostream &o, char *cls)¶
Friends
-
friend friend ostream & operator<< (ostream &, ASTNode &)
-
friend friend ostream & operator<< (ostream &, ASTNode *)
-
virtual VariableInformation *
-
class
BinaryCondition: public Condition¶ - #include <ast.hh>
Public Functions
-
virtual VariableInformation *
GenerateCode(QuadsList &q) = 0¶
-
virtual VariableInformation *
-
class
BinaryOperation: public Expression¶ - #include <ast.hh>
Subclassed by Divide, Minus, Plus, Power, Times
Public Functions
-
inline
BinaryOperation(Expression *l, Expression *r)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q) = 0¶
-
inline
-
class
BinaryRelation: public Condition¶ - #include <ast.hh>
Subclassed by Equal, GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqual, NotEqual
Public Functions
-
inline
BinaryRelation(Expression *l, Expression *r)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q) = 0¶
-
inline
-
class
BooleanConstant: public Condition¶ - #include <ast.hh>
Public Functions
-
inline
BooleanConstant(int v)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Public Members
-
bool
value¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
CallStatement: public Statement¶ - #include <ast.hh>
Public Functions
-
inline
CallStatement(FunctionCall *c)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Public Members
-
FunctionCall *
call¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
Condition: public ASTNode¶ - #include <ast.hh>
Subclassed by BinaryCondition, BinaryRelation, BooleanConstant, Not
Public Functions
-
virtual VariableInformation *
GenerateCode(QuadsList &q) = 0¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
virtual VariableInformation *
-
class
Divide: public BinaryOperation¶ - #include <ast.hh>
Public Functions
-
inline
Divide(Expression *l, Expression *r)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
ElseIfList: public ASTNode¶ - #include <ast.hh>
Public Functions
-
inline
ElseIfList(ElseIfList *p, Condition *c, StatementList *b)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
-
virtual VariableInformation *
GenerateCodeAndJump(QuadsList &q, long lbl)¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
Equal: public BinaryRelation¶ - #include <ast.hh>
Public Functions
-
inline
Equal(Expression *l, Expression *r)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
error¶ - #include <string.hh>
-
class
Expression: public ASTNode¶ - #include <ast.hh>
Subclassed by BinaryOperation, FunctionCall, IntegerConstant, IntegerToReal, LeftValue, RealConstant, TruncateReal, UnaryMinus
Public Functions
-
inline
Expression(TypeInformation *t)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q) = 0¶
Public Members
-
TypeInformation *
valueType¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
ExpressionList: public ASTNode¶ - #include <ast.hh>
Public Functions
-
inline
ExpressionList(ExpressionList *pe, Expression *e)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
-
virtual void
GenerateParameterList(QuadsList &q, VariableInformation *firstParam)¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
FunctionCall: public Expression¶ - #include <ast.hh>
Public Functions
-
inline
FunctionCall(FunctionInformation *f, ExpressionList *a)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
FunctionInformation: public SymbolInformation¶ - #include <symtab.hh>
Public Functions
-
inline virtual FunctionInformation *
SymbolAsFunction(void)¶
-
void
SetParent(FunctionInformation*)¶
-
void
SetReturnType(TypeInformation*)¶
-
void
SetBody(StatementList*)¶
-
FunctionInformation *
GetParent(void)¶
-
TypeInformation *
GetReturnType(void)¶
-
VariableInformation *
GetLastParam(void)¶
-
StatementList *
GetBody(void)¶
-
FunctionInformation *
AddFunction(const ::string&, FunctionInformation*)¶
-
VariableInformation *
AddParameter(const ::string&, TypeInformation*)¶
-
VariableInformation *
AddVariable(const ::string&, TypeInformation*)¶
-
SymbolInformation *
AddSymbol(SymbolInformation*)¶
-
TypeInformation *
AddArrayType(TypeInformation*, int)¶
-
VariableInformation *
TemporaryVariable(TypeInformation *type)¶
-
void
GenerateCode(void)¶
-
SymbolInformation *
LookupIdentifier(const ::string&)¶
Protected Functions
-
virtual ostream &
print(ostream&)¶
Protected Attributes
-
long
temporaryCount¶
Private Members
-
FunctionInformation *
parent¶
-
TypeInformation *
returnType¶
-
VariableInformation *
lastParam¶
-
VariableInformation *
lastLocal¶
-
SymbolTable
symbolTable¶
-
StatementList *
body¶
Friends
- friend class SymbolTable
-
inline virtual FunctionInformation *
-
class
GreaterThan: public BinaryRelation¶ - #include <ast.hh>
Public Functions
-
inline
GreaterThan(Expression *l, Expression *r)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
GreaterThanOrEqual: public BinaryRelation¶ - #include <ast.hh>
Public Functions
-
inline
GreaterThanOrEqual(Expression *l, Expression *r)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
Identifier: public LeftValue¶ - #include <ast.hh>
Public Functions
-
inline
Identifier(VariableInformation *i)¶
-
virtual void
GenerateAssignment(QuadsList &q, VariableInformation *val)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Public Members
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
IfStatement: public Statement¶ - #include <ast.hh>
Public Functions
-
inline
IfStatement(Condition *c, StatementList *ts, ElseIfList *eif, StatementList *es)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Public Members
-
StatementList *
thenStatements¶
-
ElseIfList *
elseIfList¶
-
StatementList *
elseStatements¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
IntegerConstant: public Expression¶ - #include <ast.hh>
Public Functions
-
inline
IntegerConstant(long int v)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Public Members
-
long int
value¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
IntegerToReal: public Expression¶ - #include <ast.hh>
Public Functions
-
inline
IntegerToReal(Expression *e)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Public Members
-
Expression *
value¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
LeftValue: public Expression¶ - #include <ast.hh>
Subclassed by ArrayReference, Identifier
Public Functions
-
inline
LeftValue(TypeInformation *t)¶
-
virtual void
GenerateAssignment(QuadsList &q, VariableInformation *val) = 0¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q) = 0¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
LessThan: public BinaryRelation¶ - #include <ast.hh>
Public Functions
-
inline
LessThan(Expression *l, Expression *r)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
LessThanOrEqual: public BinaryRelation¶ - #include <ast.hh>
Public Functions
-
inline
LessThanOrEqual(Expression *l, Expression *r)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
Minus: public BinaryOperation¶ - #include <ast.hh>
Public Functions
-
inline
Minus(Expression *l, Expression *r)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
NotEqual: public BinaryRelation¶ - #include <ast.hh>
Public Functions
-
inline
NotEqual(Expression *l, Expression *r)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
Or: public BinaryCondition¶ - #include <ast.hh>
Public Functions
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
virtual VariableInformation *
-
class
Plus: public BinaryOperation¶ - #include <ast.hh>
Public Functions
-
inline
Plus(Expression *l, Expression *r)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
Power: public BinaryOperation¶ - #include <ast.hh>
Public Functions
-
inline
Power(Expression *l, Expression *r)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
Quad¶ - #include <codegen.hh>
Public Functions
-
void
print_c(ostream &o)¶
-
inline
Quad(tQuadType o, SymbolInformation *a, SymbolInformation *b, SymbolInformation *c)¶
-
inline
Quad(tQuadType o, long a, SymbolInformation *b, SymbolInformation *c)¶
-
inline
Quad(tQuadType o, SymbolInformation *a, long b, SymbolInformation *c)¶
-
inline
Quad(tQuadType o, double a, SymbolInformation *b, SymbolInformation *c)¶
Public Members
-
SymbolInformation *
sym1¶
-
SymbolInformation *
sym2¶
-
SymbolInformation *
sym3¶
-
long
int1¶
-
long
int2¶
-
long
int3¶
-
double
real1¶
-
double
real2¶
-
double
real3¶
Private Functions
-
ostream &
print(ostream&)¶
Friends
-
friend friend ostream & operator<< (ostream &, Quad *)
-
friend friend ostream & operator<< (ostream &, Quad &)
-
void
-
class
QuadsList¶ - #include <codegen.hh>
Private Functions
-
ostream &
print(ostream&)¶
Private Static Attributes
-
static long
labelCounter¶
Friends
- friend class QuadsListIterator
-
friend friend ostream & operator<< (ostream &, QuadsList *)
-
friend friend ostream & operator<< (ostream &, QuadsList &)
-
ostream &
-
class
QuadsListIterator¶ - #include <codegen.hh>
Private Members
-
QuadsList::QuadsListElement *
elem¶
-
QuadsList::QuadsListElement *
-
class
RealConstant: public Expression¶ - #include <ast.hh>
Public Functions
-
inline
RealConstant(double v)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Public Members
-
double
value¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
ReturnStatement: public Statement¶ - #include <ast.hh>
Public Functions
-
inline
ReturnStatement()¶
-
inline
ReturnStatement(Expression *e)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Public Members
-
Expression *
value¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
Statement: public ASTNode¶ - #include <ast.hh>
Subclassed by Assignment, CallStatement, IfStatement, ReturnStatement, WhileStatement
Public Functions
-
virtual VariableInformation *
GenerateCode(QuadsList &q) = 0¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
virtual VariableInformation *
-
class
StatementList: public ASTNode¶ - #include <ast.hh>
Public Functions
-
inline
StatementList(StatementList *l, Statement *s)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
string¶ - #include <string.hh>
Public Functions
-
string()¶
-
string(char*)¶
-
string(char, int)¶
-
string(int)¶
-
~string()¶
-
void
upcase(void)¶
-
void
downcase(void)¶
-
unsigned long
hash(void) const¶
-
int
length(void) const¶
-
char &
operator[](int)¶
-
const char
operator[](const int) const¶
Private Functions
-
void
ensure_size(int)¶
Friends
-
friend friend string & operator+ (const string &, const string &)
-
friend friend string & operator+ (const string &, const char)
-
friend friend string & operator+ (const string &, const int)
-
friend friend int operator== (const string &, const string &)
-
friend friend int operator!= (const string &, const string &)
-
friend friend int operator< (const string &, const string &)
-
friend friend int operator> (const string &, const string &)
-
friend friend int operator>= (const string &, const string &)
-
friend friend int operator<= (const string &, const string &)
-
friend friend ostream & operator<< (ostream &, const string &)
-
friend friend ostream & operator<< (ostream &, const string *)
-
-
class
SymbolInformation¶ - #include <symtab.hh>
Subclassed by FunctionInformation, TypeInformation, VariableInformation
Public Types
Public Functions
-
inline
SymbolInformation(SymbolInformationType t, const ::string &i)¶
-
inline virtual
~SymbolInformation()¶
-
inline virtual FunctionInformation *
SymbolAsFunction(void)¶
-
inline virtual VariableInformation *
SymbolAsVariable(void)¶
-
inline virtual TypeInformation *
SymbolAsType(void)¶
Public Static Attributes
-
static tFormatType
outputFormat= SymbolInformation::kFullFormat¶
Protected Functions
-
virtual ostream &
print(ostream&)¶
Friends
- friend class SymbolTable
-
friend friend ostream & LongSymbols (ostream &)
-
friend friend ostream & SummarySymbols (ostream &)
-
friend friend ostream & ShortSymbols (ostream &)
-
friend friend ostream & operator<< (ostream &, SymbolInformation &)
-
friend friend ostream & operator<< (ostream &, SymbolInformation *)
-
inline
-
class
SymbolTable¶ - #include <symtab.hh>
Public Functions
-
SymbolTable()¶
-
void
AddSymbol(SymbolInformation*)¶
-
SymbolInformation *
LookupSymbol(const ::string&)¶
Public Static Attributes
-
static int
nextTemporary¶
Protected Functions
-
virtual ostream &
print(ostream&)¶
Friends
-
friend friend ostream & operator<< (ostream &, SymbolTable &)
-
friend friend ostream & operator<< (ostream &, SymbolTable *)
-
-
class
SymbolTableElement¶ - #include <symtab.hh>
-
class
Times: public BinaryOperation¶ - #include <ast.hh>
Public Functions
-
inline
Times(Expression *l, Expression *r)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
TruncateReal: public Expression¶ - #include <ast.hh>
Public Functions
-
inline
TruncateReal(Expression *e)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Public Members
-
Expression *
value¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
TypeInformation: public SymbolInformation¶ - #include <symtab.hh>
Public Functions
-
inline virtual TypeInformation *
SymbolAsType(void)¶
Protected Functions
-
virtual ostream &
print(ostream&)¶
Friends
- friend class SymbolTable
- friend class FunctionInformation
- friend class VariableInformation
-
inline virtual TypeInformation *
-
class
UnaryMinus: public Expression¶ - #include <ast.hh>
Public Functions
-
inline
UnaryMinus(Expression *e)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Public Members
-
Expression *
right¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
class
VariableInformation: public SymbolInformation¶ - #include <symtab.hh>
Public Functions
-
inline virtual VariableInformation *
SymbolAsVariable(void)¶
-
inline
VariableInformation(const ::string &i, TypeInformation *t)¶
Protected Functions
-
virtual ostream &
print(ostream&)¶
-
inline virtual VariableInformation *
-
class
WhileStatement: public Statement¶ - #include <ast.hh>
Public Functions
-
inline
WhileStatement(Condition *c, StatementList *b)¶
-
virtual VariableInformation *
GenerateCode(QuadsList &q)¶
Protected Functions
-
virtual void
print(ostream &o)¶
-
inline
-
namespace
std
-
file
ast.cc - #include “ast.hh”
-
file
ast.hh - #include “symtab.hh”#include “codegen.hh”
Enums
-
enum
ASTNodeType¶ Values:
-
enum
-
file
codegen.cc - #include <iostream>#include <iomanip>#include <stdlib.h>#include “ast.hh”#include “symtab.hh”#include “codegen.hh”
Defines
-
USEQ¶
Functions
-
static VariableInformation *
BinaryGenerateCode(QuadsList &q, tQuadType realop, tQuadType intop, ASTNode *left, ASTNode *right, ASTNode *node, TypeInformation *type = NULL)¶
-
-
file
codegen.hh Enums
-
enum
tQuadType¶ Values:
-
enumerator
iconst¶
-
enumerator
rconst¶
-
enumerator
iaddr¶
-
enumerator
itor¶
-
enumerator
rtrunc¶
-
enumerator
iadd¶
-
enumerator
isub¶
-
enumerator
imul¶
-
enumerator
idiv¶
-
enumerator
ipow¶
-
enumerator
radd¶
-
enumerator
rsub¶
-
enumerator
rmul¶
-
enumerator
rdiv¶
-
enumerator
rpow¶
-
enumerator
igt¶
-
enumerator
ilt¶
-
enumerator
ieq¶
-
enumerator
rgt¶
-
enumerator
rlt¶
-
enumerator
req¶
-
enumerator
iand¶
-
enumerator
ior¶
-
enumerator
inot¶
-
enumerator
jtrue¶
-
enumerator
jfalse¶
-
enumerator
jump¶
-
enumerator
clabel¶
-
enumerator
istore¶
-
enumerator
iload¶
-
enumerator
rstore¶
-
enumerator
rload¶
-
enumerator
creturn¶
-
enumerator
param¶
-
enumerator
call¶
-
enumerator
iassign¶
-
enumerator
rassign¶
-
enumerator
aassign¶
-
enumerator
hcf¶
-
enumerator
nop¶
-
enumerator
-
enum
-
file
main.cc - #include <stdlib.h>#include <stdio.h>#include <iostream>#include “ast.hh”#include “parser.hh”#include “symtab.hh”#include <unistd.h>
-
file
stl.h - #include <math.h>#include <stdio.h>
-
file
string.cc - #include <stdlib.h>#include <malloc.h>#include <cstring>#include <ctype.h>#include <strstream>#include “string.hh”
Defines
-
MAX(a, b)¶
Functions
-
-
file
string.hh - #include <iostream>
-
file
symtab.cc - #include <stdlib.h>#include “symtab.hh”#include “ast.hh”#include “string.hh”
Functions
-
ostream &
SummarySymbols(ostream &o)¶
-
ostream &
operator<<(ostream &o, SymbolTable &t)¶
-
ostream &
operator<<(ostream &o, SymbolTable *t)¶
-
ostream &
operator<<(ostream &o, SymbolInformation &i)¶
-
ostream &
operator<<(ostream &o, SymbolInformation *i)¶
-
ostream &
ShortSymbols(ostream &o)¶
-
ostream &
LongSymbols(ostream &o)¶
-
ostream &
CFormat(ostream &o)¶
Variables
-
FunctionInformation *
currentFunction¶
-
TypeInformation *
kIntegerType¶
-
TypeInformation *
kRealType¶
-
FunctionInformation *
kFPrintFunction¶
-
FunctionInformation *
kIPrintFunction¶
-
FunctionInformation *
kFReadFunction¶
-
FunctionInformation *
kIReadFunction¶
-
ostream &
-
file
symtab.hh - #include <iostream>#include “string.hh”
Enums
Functions
-
ostream &
ShortSymbols(ostream &o)
-
ostream &
LongSymbols(ostream &o)
-
ostream &
CFormat(ostream &o)
Variables
-
FunctionInformation *
currentFunction
-
FunctionInformation *
kFPrintFunction
-
FunctionInformation *
kIPrintFunction
-
FunctionInformation *
kFReadFunction
-
FunctionInformation *
kIReadFunction
-
TypeInformation *
kRealType
-
TypeInformation *
kIntegerType
-
ostream &
-
file
README.md
-
page
md__home_marsj_dev_tddb44-webpage_tddd55-lab_lab3-4_test_README expression_test.prog¶
This program simple executes and print simple expressions
factorial_test.prog¶
This program checks if functions and if/else statements are handled correctly. Checks the factorial function
fibonacci_test.prog¶
Similar to the factorial test, also tests recursions
sort_test.prog¶
This program simple executes selection sort on an unsorted array
*output_ref¶
These are references files specifing the expected output from the programs above. It is used by codegen-test.sh
How to test?¶
To test a program simply execute codegen-test.sh in the parent directory.
bash codegen-test.sh
How do I compile my own program?¶
Invoke the compiler. Pipe the output to a file with the suffix.c
compiler -c > <name>.c
Do not use the -d flag when doing this.
Then compile this file with
gcc -lm <name.c>
-
dir
/home/marsj/dev/tddb44-webpage/tddd55-lab/lab3-4
-
dir
/home/marsj/dev/tddb44-webpage/tddd55-lab/lab3-4/test