Differences

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

Link to this comparison view

Next revision
Previous revision
lfa:2023:lab03 [2023/10/23 16:14]
mihai.udubasa created
lfa:2023:lab03 [2023/10/31 11:43] (current)
alexandra.udrescu01
Line 12: Line 12:
 $ AB = ? $ $ AB = ? $
 \\ \\
 +
 +
  
 <​hidden>​ <​hidden>​
Line 23: Line 25:
  
 </​hidden>​ </​hidden>​
 +
 +
  
 **3.1.2.** **3.1.2.**
Line 31: Line 35:
 \\ \\
 $ AB = ? $ \\ $ BA = ? $ $ AB = ? $ \\ $ BA = ? $
 +
  
 <​hidden>​ <​hidden>​
Line 63: Line 68:
 $ B^* = ? $ $ B^* = ? $
 \\ \\
 +
  
 <​hidden>​ <​hidden>​
Line 83: Line 89:
 \\ \\
 $ AB = ? $ \\ $ BA = ? $ $ AB = ? $ \\ $ BA = ? $
 +
  
 <​hidden>​ <​hidden>​
Line 94: Line 101:
  
 </​hidden>​ </​hidden>​
 +
  
 ===== 3.2. Writing Regular Expressions ===== ===== 3.2. Writing Regular Expressions =====
Line 99: Line 107:
 **3.2.1.** Write a regular expression for the language of arithmetic expressions containing +, * and numbers. **3.2.1.** Write a regular expression for the language of arithmetic expressions containing +, * and numbers.
 **Hint:** you can abbreviate $ 0 \cup 1 \cup ... \cup 9 $ by $ [0-9] $ **Hint:** you can abbreviate $ 0 \cup 1 \cup ... \cup 9 $ by $ [0-9] $
 +
  
 <​hidden>​ <​hidden>​
Line 171: Line 180:
  
  
-**3.2.5.** Describe as precisely as possible the language generated by $math[((0(1 \cup 0)(1 \cup 0)) \cup 100)1((0(1 \cup 0)(1 \cup 0)) \cup 100)1(((0(1 \cup 0)(1 \cup 0)) \cup 100)0)*] ​+**3.2.5.** 
 +Find a regular expression for the set of all binary strings with the property that none of its prefixes has two more 0's than 1's nor two more 1's than 0's. 
 + 
 + 
 + 
 +<​hidden>​ 
 + 
 +We the given property implies that the word is composed of repeated sequences of '​10'​ and '​01'​ (so elements at odd positions are different from their left neighbour), possibly followed by a final 1 or 0: 
 + 
 +After any prefix of even length with an equal number of 0's and 1's (including $\epsilon$),​ you can either finish the word, add a single character and then finish the word (both of these keeping the rule true) or add at least 2 characters. In the last case, if the characters are equal the prefix ending at these two characters breaks the rule. 
 + 
 +$(01\cup10)^*(0\cup1\cup\epsilon)$ 
 + 
 +</​hidden>​ 
 + 
 + 
 +/* this is the old exercise 
 + Describe as precisely as possible the language generated by $math[((0(1 \cup 0)(1 \cup 0)) \cup 100)1((0(1 \cup 0)(1 \cup 0)) \cup 100)1(((0(1 \cup 0)(1 \cup 0)) \cup 100)0)*] ​
  
 (hint: BCD) (hint: BCD)
Line 203: Line 229:
 So, this ugly regex encodes BCD numbers that start with exactly 2 odd digits which are followed by 0 or more even digits. So, this ugly regex encodes BCD numbers that start with exactly 2 odd digits which are followed by 0 or more even digits.
 </​hidden>​ </​hidden>​
 +*/
  
 ===== 3.3 Regex Equivalence ===== ===== 3.3 Regex Equivalence =====