General style changes, nothing major
This commit is contained in:
		@@ -3,6 +3,7 @@ open Printf;;
 | 
				
			|||||||
open Lisp;;
 | 
					open Lisp;;
 | 
				
			||||||
open Eval;;
 | 
					open Eval;;
 | 
				
			||||||
open Read;;
 | 
					open Read;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
let rec repl env c =
 | 
					let rec repl env c =
 | 
				
			||||||
  let () = printf ">>> "; Out_channel.flush Out_channel.stdout; in
 | 
					  let () = printf ">>> "; Out_channel.flush Out_channel.stdout; in
 | 
				
			||||||
  match In_channel.input_line c with
 | 
					  match In_channel.input_line c with
 | 
				
			||||||
@@ -14,4 +15,5 @@ let rec repl env c =
 | 
				
			|||||||
    Out_channel.flush Out_channel.stdout;
 | 
					    Out_channel.flush Out_channel.stdout;
 | 
				
			||||||
    repl env c;;
 | 
					    repl env c;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
let _ = repl (make_env ()) (In_channel.stdin)
 | 
					let _ = repl (make_env ()) (In_channel.stdin)
 | 
				
			||||||
							
								
								
									
										4
									
								
								lib/dune
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								lib/dune
									
									
									
									
									
								
							@@ -1,7 +1,5 @@
 | 
				
			|||||||
(library
 | 
					(library
 | 
				
			||||||
 (name lisp)
 | 
					 (name lisp))
 | 
				
			||||||
 ;(modules ast read lexer parser)
 | 
					 | 
				
			||||||
 )
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
(include_subdirs unqualified)
 | 
					(include_subdirs unqualified)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -33,4 +33,3 @@ rule read =
 | 
				
			|||||||
    | '\'' { QUOTE }
 | 
					    | '\'' { QUOTE }
 | 
				
			||||||
    | _ { raise (SyntaxError ("Unexpected char: " ^ Lexing.lexeme lexbuf))}
 | 
					    | _ { raise (SyntaxError ("Unexpected char: " ^ Lexing.lexeme lexbuf))}
 | 
				
			||||||
    | eof { EOF }
 | 
					    | eof { EOF }
 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,7 +17,7 @@
 | 
				
			|||||||
prog:
 | 
					prog:
 | 
				
			||||||
  | EOF { None }
 | 
					  | EOF { None }
 | 
				
			||||||
  | e = expr { Some e }
 | 
					  | e = expr { Some e }
 | 
				
			||||||
    ;
 | 
					;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
expr:
 | 
					expr:
 | 
				
			||||||
  | i = INT { LInt i }
 | 
					  | i = INT { LInt i }
 | 
				
			||||||
@@ -26,9 +26,9 @@ expr:
 | 
				
			|||||||
  | s = STR { LString (String.uppercase_ascii s) }
 | 
					  | s = STR { LString (String.uppercase_ascii s) }
 | 
				
			||||||
  | LPAREN; l = lisp_list_rest { l }
 | 
					  | LPAREN; l = lisp_list_rest { l }
 | 
				
			||||||
  | QUOTE; e = expr { LQuoted e}
 | 
					  | QUOTE; e = expr { LQuoted e}
 | 
				
			||||||
    ;
 | 
					;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
lisp_list_rest:
 | 
					lisp_list_rest:
 | 
				
			||||||
  | RPAREN { LNil }
 | 
					  | RPAREN { LNil }
 | 
				
			||||||
  | e = expr; lr = lisp_list_rest { LCons (e, lr) }
 | 
					  | e = expr; lr = lisp_list_rest { LCons (e, lr) }
 | 
				
			||||||
    ;
 | 
					;
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user