private void generateExpression( SyntaxTree tree ){
		
		int loc;
		
		switch( tree.getExpressionKind() ){
		
			case CONSTANT:
				this.generateRM( TinyMachineCode.LDC, accumulator, Integer.parseInt( tree.getName() ), 0 );
				break;
				
			case IDENTIFIER:
				loc = this.symbolTable.StLookup( tree.getName() );
				this.generateRM( TinyMachineCode.LD, accumulator, loc, globalPointer );
				break;
				
			case OPERATION:
				
				this.generateCode( tree.getChild( 0 ) );
				this.generateRM( TinyMachineCode.ST, accumulator, this.tempMemoryOffset--, memoryPointer );
				
				this.generateCode( tree.getChild( 1 ) );
				this.generateRM( TinyMachineCode.LD, accumulator2, ++this.tempMemoryOffset, memoryPointer );
				
				switch( tree.getTokenType() ){
				
					case PLUS:
						this.generateRO( TinyMachineCode.ADD, accumulator, accumulator2, accumulator );
						break;
						
					case MINUS:
						this.generateRO( TinyMachineCode.SUB, accumulator, accumulator2, accumulator );
						break;
						
					case MULTIPLICATION:
						this.generateRO( TinyMachineCode.MUL, accumulator, accumulator2, accumulator );
						break;
						
					case DIVISION:
						this.generateRO( TinyMachineCode.DIV, accumulator, accumulator2, accumulator );
						break;
						
					case LESS_THAN:
						this.generateRO( TinyMachineCode.SUB, accumulator, accumulator2, accumulator );
						this.generateRM( TinyMachineCode.JLT, accumulator, 2, programCounter );
						this.generateRM( TinyMachineCode.LDC, accumulator, 0, accumulator );
						this.generateRM( TinyMachineCode.LDA, programCounter, 1, programCounter );
						this.generateRM( TinyMachineCode.LDC, accumulator, 1, accumulator );
						break;
						
					case EQUALS:
						this.generateRO( TinyMachineCode.SUB, accumulator, accumulator2, accumulator );
						this.generateRM( TinyMachineCode.JEQ, accumulator, 2, programCounter );
						this.generateRM( TinyMachineCode.LDC, accumulator, 0, accumulator );
						this.generateRM( TinyMachineCode.LDA, programCounter, 1, programCounter );
						this.generateRM( TinyMachineCode.LDC, accumulator, 1, accumulator );
						break;
				}
				
				break;
		}
	}