• Keine Ergebnisse gefunden

Aufgabe 1 Seien e 1 , e 2 ∈ E {a,b} gegeben durch 1. e 1 = a ∗ | (ba) und

N/A
N/A
Protected

Academic year: 2021

Aktie "Aufgabe 1 Seien e 1 , e 2 ∈ E {a,b} gegeben durch 1. e 1 = a ∗ | (ba) und"

Copied!
4
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Universit¨ at Siegen

Lehrstuhl Theoretische Informatik Markus Lohrey

Compilerbau I SS 2020

Ubungsblatt 2 ¨

Aufgabe 1 Seien e 1 , e 2 ∈ E {a,b} gegeben durch 1. e 1 = a | (ba) und

2. e 2 = b (a | b) .

Stellen Sie jeweils e 1 und e 2 als Baum dar und nummerieren Sie die Bl¨ atter durch. Konstruieren Sie anschließend den ε-NDEA.

L¨ osung:

F¨ ur ein Blatt mit Terminalsymbol a und Nummer i schreiben wir [i, a]. Wir fangen außerdem (traditionell) bei 1 an zu z¨ ahlen.

1. e 1 als durchnummerierter Baum:

|

∗ [1, a]

◦ [2, b] [3, a]

Der ε-NDEA dazu ist dann:

1

(2)

•([1, a] | ([2, b][3, a]))

•[1, a]

[1, a]

•[1, a]

[1, a]•

•([2, b][3, a]) •[2, b]

[2, b]•

•[3, a]

[3, a]•

([2, b][3, a])•

([1, a] | ([2, b][3, a]))•

ε

ε ε

a ε ε

ε

ε

ε

b

ε

a ε ε

2. e 2 als durchnummerierter Baum:

∗ [1, b]

| [2, a] [3, b]

Der ε-NDEA dazu ist dann:

2

(3)

•([1, b] ([2, a] | [3, b]) )

•[1, b]

[1, b]

•[1, b]

[1, b]•

•([2, a] | [3, b])

([2, a] | [3, b])

•([2, a] | [3, b])

•[2, a] •[3, b]

[2, a]• [3, b]•

([2, a] | [3, b])•

([1, b] ([2, a] | [3, b]) )•

ε

ε ε

ε b

ε ε

ε ε

ε ε

ε

ε ε

a b

ε

ε

Aufgabe 2 Sei Σ ein (endliches) Alphabet.

(a) Definieren Sie die Funktion ` : E Σ → N , welche die Terminalzeichen eines regul¨ aren Ausdrucks z¨ ahlt.

3

(4)

L¨ osung:

Wir definieren ` wie folgt:

`(a) = 1 f¨ ur a ∈ Σ,

`(ε) = 0,

`(e 1 | e 2 ) = `(e 1 ) + `(e 2 ),

`(e 1 e 2 ) = `(e 1 ) + `(e 2 ),

`(e ) = `(e).

(b) Mit Σ n = N × Σ bezeichnen wir das (unendliche) Alphabet, das aus durchnummerierten Terminalzeichen besteht. Definieren Sie das Durch- nummerieren num : E Σ → E Σ

n

eines regul¨ aren Ausdrucks. Verwenden Sie hierzu eine Hilfsfunktion num 0 : N → E Σ → E Σ

n

, welche die Start- nummerierung als Parameter erh¨ alt.

L¨ osung:

Wir definieren num 0 wie folgt:

num 0 (i)(a) = [i, a] f¨ ur a ∈ Σ, num 0 (i)(ε) = ε,

num 0 (i)(e 1 | e 2 ) = num 0 (i)(e 1 ) | num 0 (i + `(e 1 ))(e 2 ), num 0 (i)(e 1 e 2 ) = num 0 (i)(e 1 ) num 0 (i + `(e 1 ))(e 2 ),

num 0 (i)(e ) = num 0 (i)(e) . Wir definieren dann num = num 0 (1).

4

Referenzen

ÄHNLICHE DOKUMENTE

Da die externe Kraft linear

[r]

1 Pkt Daher ist die Gleichgewichtsl¨osung instabil (damit auch nicht asymptotisch stabil)... ist wieder L¨osung der

Diese haben alle negativen Realteil... 1 Pkt Einsetzen in

A.3.2 Zur Funktion der isokratischen Schriften in paideía und Politik ... XIII): Ein Erziehungskonzept des Nicht- Lehrbaren

ta Mining) eingeteilt wird, welche hier erst kurz vorgestellt werden, um dann auf die.. drei T eile F ull-Text, Spatial und Still Image

• Für eine einzelne Klasse lohnt sih ein solhes Diagramm

[r]