|  | @@ -180,18 +180,35 @@ public class LispEval {
 | 
											
												
													
														|  |  	 */
 |  |  	 */
 | 
											
												
													
														|  |  	private ConsList<Object> lispList = null;
 |  |  	private ConsList<Object> lispList = null;
 | 
											
												
													
														|  |  	
 |  |  	
 | 
											
												
													
														|  | 
 |  | +	/**
 | 
											
												
													
														|  | 
 |  | +	 * Creation d'un evaluateur lisp
 | 
											
												
													
														|  | 
 |  | +	 */
 | 
											
												
													
														|  | 
 |  | +	public LispEval() {
 | 
											
												
													
														|  | 
 |  | +		
 | 
											
												
													
														|  | 
 |  | +	}
 | 
											
												
													
														|  | 
 |  | +	
 | 
											
												
													
														|  |  	/**
 |  |  	/**
 | 
											
												
													
														|  |  	 * Creation d'un evaluateur lisp
 |  |  	 * Creation d'un evaluateur lisp
 | 
											
												
													
														|  |  	 * @param lisp Un element lisp (Object) ou une liste de lisp (ConsList<Object>)
 |  |  	 * @param lisp Un element lisp (Object) ou une liste de lisp (ConsList<Object>)
 | 
											
												
													
														|  |  	 */
 |  |  	 */
 | 
											
												
													
														|  | -	@SuppressWarnings("unchecked")
 |  | 
 | 
											
												
													
														|  |  	public LispEval(Object lisp) {
 |  |  	public LispEval(Object lisp) {
 | 
											
												
													
														|  | 
 |  | +		this.setLisp(lisp);
 | 
											
												
													
														|  | 
 |  | +	}
 | 
											
												
													
														|  | 
 |  | +	
 | 
											
												
													
														|  | 
 |  | +	/**
 | 
											
												
													
														|  | 
 |  | +	 * Change l'objet lisp à evaluer
 | 
											
												
													
														|  | 
 |  | +	 * @param lisp Un element lisp (Object) ou une liste de lisp (ConsList<Object>)
 | 
											
												
													
														|  | 
 |  | +	 */
 | 
											
												
													
														|  | 
 |  | +	@SuppressWarnings("unchecked")
 | 
											
												
													
														|  | 
 |  | +	public final void setLisp(Object lisp) {
 | 
											
												
													
														|  |  		if(lisp == null) {
 |  |  		if(lisp == null) {
 | 
											
												
													
														|  |  			throw new IllegalArgumentException("Expression is null");
 |  |  			throw new IllegalArgumentException("Expression is null");
 | 
											
												
													
														|  |  		} else if(lisp instanceof ConsList) {
 |  |  		} else if(lisp instanceof ConsList) {
 | 
											
												
													
														|  | 
 |  | +			this.lispElt = null;
 | 
											
												
													
														|  |  			this.lispList = (ConsList<Object>) lisp;
 |  |  			this.lispList = (ConsList<Object>) lisp;
 | 
											
												
													
														|  |  		} else {
 |  |  		} else {
 | 
											
												
													
														|  |  			this.lispElt = lisp;
 |  |  			this.lispElt = lisp;
 | 
											
												
													
														|  | 
 |  | +			this.lispList = null;
 | 
											
												
													
														|  |  		}
 |  |  		}
 | 
											
												
													
														|  |  	}
 |  |  	}
 | 
											
												
													
														|  |  	
 |  |  	
 | 
											
										
											
												
													
														|  | @@ -203,8 +220,10 @@ public class LispEval {
 | 
											
												
													
														|  |  	public LispElement evaluate() throws LispError {
 |  |  	public LispElement evaluate() throws LispError {
 | 
											
												
													
														|  |  		if(this.lispElt != null) {
 |  |  		if(this.lispElt != null) {
 | 
											
												
													
														|  |  			return this.evalElt();
 |  |  			return this.evalElt();
 | 
											
												
													
														|  | 
 |  | +		} else if(this.lispList != null) {
 | 
											
												
													
														|  | 
 |  | +			return this.evalList();
 | 
											
												
													
														|  |  		}
 |  |  		}
 | 
											
												
													
														|  | -		return this.evalList();
 |  | 
 | 
											
												
													
														|  | 
 |  | +		return null;
 | 
											
												
													
														|  |  	}
 |  |  	}
 | 
											
												
													
														|  |  	
 |  |  	
 | 
											
												
													
														|  |  	/**
 |  |  	/**
 |