Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- object zad1 extends App {
- def stworzAutomat(
- a: Set[Char],
- q: Set[String],
- q0: String,
- f: Set[String],
- d: Map[(String, Char), String]
- ): String => Boolean = {
- def exec(word: String) = {
- val final = word.foldLeft(q0)((prev, curr) => d((prev, curr)))
- f.apply(final)
- }
- exec
- }
- val automat = stworzAutomat(
- Set('a', 'b'),
- Set("q0", "q1", "q2"),
- "q0",
- Set("q2"),
- Map(
- ("q0", 'a') -> "q2",
- ("q0", 'b') -> "q1",
- ("q1", 'a') -> "q1",
- ("q1", 'b') -> "q1",
- ("q2", 'a') -> "q2",
- ("q2", 'b') -> "q1"
- )
- )
- println(automat("aa"))
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement