diff options
Diffstat (limited to 'Jennisys/Jennisys/Jennisys.fs')
-rw-r--r-- | Jennisys/Jennisys/Jennisys.fs | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/Jennisys/Jennisys/Jennisys.fs b/Jennisys/Jennisys/Jennisys.fs deleted file mode 100644 index b10c9cfc..00000000 --- a/Jennisys/Jennisys/Jennisys.fs +++ /dev/null @@ -1,72 +0,0 @@ -// This project type requires the F# PowerPack at http://fsharppowerpack.codeplex.com/releases -// Learn more about F# at http://fsharp.net -// Original project template by Jomo Fisher based on work of Brian McNamara, Don Syme and Matt Valerio -// This posting is provided "AS IS" with no warranties, and confers no rights. -module Main - -open System -open System.IO -open Microsoft.FSharp.Text.Lexing - -open Ast -open AstUtils -open Lexer -open Options -open Parser -open Printer -open TypeChecker -open Analyzer - -let readAndProcess (filename: string) = - printfn "// Jennisys, Copyright (c) 2011, Microsoft." - // lex - let f = if filename = null then Console.In else new StreamReader(filename) :> TextReader - let lexbuf = LexBuffer<char>.FromTextReader(f) - lexbuf.EndPos <- { pos_bol = 0; - pos_fname=if filename = null then "stdin" else filename; - pos_cnum=0; - pos_lnum=1 } - - let sprog = - try - // parse - Parser.start Lexer.tokenize lexbuf - with - | ex -> - let pos = lexbuf.EndPos - printfn " [PARSE ERROR]: %s(%d,%d): %s" pos.FileName pos.Line pos.Column ex.Message - Environment.Exit(1) - failwith "" - match TypeCheck sprog with - | None -> () // errors have already been reported - | Some(prog) -> - Analyze prog filename - - -try - let args = Environment.GetCommandLineArgs() - ParseCmdLineArgs (List.ofArray args |> List.tail) - if CONFIG.breakIntoDebugger then ignore (System.Diagnostics.Debugger.Launch()) else () - if CONFIG.help then - printfn "%s" PrintHelpMsg - else - if CONFIG.inputFilename = "" then - printfn "*** Error: No input file was specified." - else - readAndProcess CONFIG.inputFilename -with - | InvalidCmdLineOption(msg) - | InvalidCmdLineArg(msg) as ex -> - printfn " [ERROR] %s" msg; - printfn "%s" PrintHelpMsg - | EvalFailed(msg) as ex -> - printfn " [EVALUATION ERROR] %s" msg - printfn "%O" ex.StackTrace - -//let mc = MethodOutSelect (MethodCall(IdLiteral("left"),"SetNode","Find",[VarLiteral("n")]), "ret") -//let expr = BinaryOr (BinaryOr (BinaryEq (VarLiteral("a")) (VarLiteral("b"))) mc) (mc) -//printfn "%s" (PrintExpr 0 expr) -//printfn "" -// -//let stmt = ExprStmt(expr) -//printfn "%s" (DafnyPrinter.PrintStmt stmt 0 false)
\ No newline at end of file |