Advertisement
MrSpaceMan1

Untitled

Apr 17th, 2021
997
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.66 KB | None | 0 0
  1. object zad1 extends App {
  2.   def stworzAutomat(
  3.     a: Set[Char],
  4.     q: Set[String],
  5.     q0: String,
  6.     f: Set[String],
  7.     d: Map[(String, Char), String]
  8.   ): String => Boolean = {
  9.     def exec(word: String) = {
  10.       val final = word.foldLeft(q0)((prev, curr) => d((prev, curr)))
  11.       f.apply(final)
  12.     }
  13.     exec
  14.   }
  15.   val automat = stworzAutomat(
  16.     Set('a', 'b'),
  17.     Set("q0", "q1", "q2"),
  18.     "q0",
  19.     Set("q2"),
  20.     Map(
  21.         ("q0", 'a') -> "q2",
  22.         ("q0", 'b') -> "q1",
  23.         ("q1", 'a') -> "q1",
  24.         ("q1", 'b') -> "q1",
  25.         ("q2", 'a') -> "q2",
  26.         ("q2", 'b') -> "q1"
  27.     )
  28.   )
  29.   println(automat("aa"))  
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement