Advertisement
Guest User

Untitled

a guest
Jul 27th, 2015
232
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
F# 1.97 KB | None | 0 0
  1. module Brahma.TTA.VSFGCompiler.Tests
  2.  
  3. open Brahma.TTA.VSFG
  4. open Brahma.TTA.VirtualTTA
  5. open NUnit.Framework
  6.  
  7. [<Test>]
  8. let VSFGCompilerWithoutMUXandFunctions () =
  9.     let x = new InitialNode()
  10.     let y = new InitialNode()
  11.    
  12.     x.ResultAddr <- (1<ln>, 0<col>)
  13.     y.ResultAddr <- (1<ln>, 1<col>)
  14.     x.Status <- Ready (* Можно ли делать это автоматически? *)
  15.  
  16.     let terminal = new TerminalNode()
  17.  
  18.     terminal.ResultAddr <- (1<ln>, 2<col>)
  19.  
  20.     let plus1 = new AddNode()
  21.     let plus2 = new AddNode()
  22.     let plus3 = new AddNode()
  23.     let plus4 = new AddNode()
  24.     let plus5 = new AddNode()
  25.     let plus6 = new AddNode()
  26.  
  27.     let vsfg = new VSFG ([|x; y|], [|terminal|])
  28.  
  29.     VSFG.AddVerticesAndEdges
  30.         [|
  31.             x :> Node, 0, plus1 :> Node, 0;
  32.             y :> Node, 0, plus1 :> Node, 1;
  33.             x :> Node, 0, plus2 :> Node, 0;
  34.             y :> Node, 0, plus2 :> Node, 1;
  35.             x :> Node, 0, plus3 :> Node, 0;
  36.             y :> Node, 0, plus3 :> Node, 1;
  37.  
  38.             plus1 :> Node, 0, plus4 :> Node, 0;
  39.  
  40.             plus2 :> Node, 0, plus4 :> Node, 1
  41.             plus2 :> Node, 0, plus5 :> Node, 0;
  42.  
  43.             plus3 :> Node, 0, plus5 :> Node, 1;
  44.  
  45.             plus4 :> Node, 0, plus6 :> Node, 0;
  46.             plus5 :> Node, 0, plus6 :> Node, 1;
  47.  
  48.             plus6 :> Node, 0, terminal :> Node, 0;
  49.         |]
  50.  
  51.     let FU1 = ADD("in1", "in2t", "out1", true)
  52.     let FU2 = REGISTER("0", true)
  53.     let TTA = new TTA([| (FU1, 5); (FU2, 4) |], 1)
  54.  
  55.     let compiler = new VSFGCompiler(vsfg, TTA)
  56.  
  57.     let code = compiler.Compile()
  58.  
  59.     ()
  60.  
  61.     (*
  62.     let file = new System.IO.StreamWriter(@"C:\Users\User\Documents\Workspace\test.txt")
  63.  
  64.     code.ForEach(
  65.         fun x ->
  66.         (
  67.             //printf "("
  68.             Array.iter( fun y -> file.Write(Asm.toString(y, TTA)); file.Write("; ")) x
  69.             file.WriteLine()
  70.             //printfn ")"
  71.         )
  72.     )
  73.  
  74.     file.Close()
  75.     *)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement