Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lfa:lab03-lexers [2021/10/21 11:58]
pdmatei
lfa:lab03-lexers [2021/10/25 11:46] (current)
stefan.stancu
Line 9: Line 9:
 ---- ----
 **3.1.1.** Suppose $math[A_1] is a DFA and w=''​aabaaabb''​ is a word. Find the **longest prefix** of w which is accepted by $math[A_1]. **3.1.1.** Suppose $math[A_1] is a DFA and w=''​aabaaabb''​ is a word. Find the **longest prefix** of w which is accepted by $math[A_1].
-{{ :​lfa:​lexer-a1.png?​200 |}}+{{ :​lfa:​lexer-a1.png?​300 |}}
 ---- ----
  
Line 17: Line 17:
 ---- ----
 **3.1.2.** Split the following word $math[w]=''​ababbaabbabaab''​ using $math[A_2] as the unique token. **3.1.2.** Split the following word $math[w]=''​ababbaabbabaab''​ using $math[A_2] as the unique token.
-{{ :​lfa:​lexer-a2.png?​200 |}}+{{ :​lfa:​lexer-a2.png?​300 |}}
  
 **3.1.3.** Given DFAs $math[A_3], $math[A_4] and $math[A_5], use them to split the word $math[w]=''​abaaabbabaaaab''​ into lexemes. **3.1.3.** Given DFAs $math[A_3], $math[A_4] and $math[A_5], use them to split the word $math[w]=''​abaaabbabaaaab''​ into lexemes.
  
 ^^^^ ^^^^
-| {{ :​lfa:​lexer-a3.png?​200 |}} |    {{ :​lfa:​lexer-a4.png?​200 |}}    |{{ :​lfa:​lexer-a5.png?​200 |}}         |+| {{ :​lfa:​lexer-a3.png?​300 |}} |    {{ :​lfa:​lexer-a4.png?​200 |}}    |{{ :​lfa:​lexer-a5.png?​ 
 +200 |}}         |
  
  
Line 39: Line 40:
  
 Suppose: Suppose:
-  * $math[A] has higher priority than $math[A_2]. How will the string be split? (Which are the lexemes?) +  * $math[A] has higher priority than $math[B]. How will the string be split? (Which are the lexemes?) 
-  * $math[B] has higher priority than $math[A_1]. How will the splitting look like?+  * $math[B] has higher priority than $math[A]. How will the splitting look like?
   * finally, let us return to the **maximal match** principle. How should the DFAs $math[A] an $math[B] be ordered (w.r.t. priority) so that our word is split in the correct way (assuming a Python syntax)?   * finally, let us return to the **maximal match** principle. How should the DFAs $math[A] an $math[B] be ordered (w.r.t. priority) so that our word is split in the correct way (assuming a Python syntax)?