mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-13 16:37:30 +00:00
6d494bfcdf
-Wall still isn't used yet due to a missing method in Array, and overzealous warnings in qfcc, but this covers the necessary fixes.
29 lines
698 B
Objective-C
29 lines
698 B
Objective-C
#ifndef __Compiler_h
|
|
#define __Compiler_h
|
|
#include "SchemeObject.h"
|
|
#include "CompiledCode.h"
|
|
#include "Symbol.h"
|
|
#include "Scope.h"
|
|
#include "Error.h"
|
|
|
|
#define TAIL 1
|
|
|
|
@interface Compiler: SchemeObject
|
|
{
|
|
CompiledCode code;
|
|
SchemeObject sexpr;
|
|
Scope scope;
|
|
Error err;
|
|
}
|
|
|
|
+ (id) newWithLambda: (SchemeObject) xp scope: (Scope) sc;
|
|
- (id) initWithLambda: (SchemeObject) xp scope: (Scope) sc;
|
|
- (SchemeObject) compile;
|
|
|
|
- (void) emitExpression: (SchemeObject) expression flags: (integer) fl;
|
|
- (void) emitLambda: (SchemeObject) expression;
|
|
- (void) emitConstant: (SchemeObject) expression;
|
|
- (void) emitApply: (SchemeObject) expression flags: (integer) fl;
|
|
@end
|
|
|
|
#endif //__Compiler_h
|