Kontextfreie grammatik – wikipedia gas jobs crna

###########

Gemäß der Definition gilt für eine Regel α → β {\displaystyle \alpha \rightarrow \beta } , dass α ∈ N {\displaystyle \alpha \in N} ist, also dass auf der linken Seite der Ersetzungsregel genau ein Nichtterminal steht. Es ist in einer Regel auf electricity will not generally cause der linken Seite nicht von anderen Symbolen umgeben, und es stehen daher für jede Zeichenkette, die dieses Nichtterminal enthält, immer die gleichen Regeln zur Auswahl, egal welche Symbole das Nichtterminal α {\displaystyle \alpha } in einer Zeichenfolge umgeben. Kurz gesagt ist die Auswahl der Regeln unabhängig vom Kontext von α {\displaystyle \alpha } .

Dabei werden die Produktionsregeln R → Q ∈ P {\displaystyle R\rightarrow Q\in P} so angewendet, dass in einem Wort w ∈ V ∗ {\displaystyle w\in V^{\ast }} mit R als Infix (Teilwort, englisch substring), dieses durch Q ersetzt werden kann, so dass ein neues Wort w ′ {\displaystyle w^{\prime }} mit Q {\displaystyle Q} als Infix entsteht. Die Menge P {\displaystyle P} (als Teilmenge eines kartesischen Produktes eine Relation) wird dadurch erweitert zu

Diese Ersetzungen können mehrfach vorgenommen werden: Wenn ein Wort v {\displaystyle v} aus einem Wort u {\displaystyle u} durch n-fache Anwendung von ⇝ {\displaystyle \rightsquigarrow } hervorgeht, schreibt man u ⇝ G n v {\displaystyle electricity worksheets high school u{\rightsquigarrow _{G}}^{n}v} , ist dies bei beliebiger endlicher Anwendung der Fall, dann u ⇝ G ∗ {\displaystyle u{\rightsquigarrow _{G}}^{*}} . Die Relation ⇝ G ∗ {\displaystyle {\rightsquigarrow _{G}}^{*}} ( Ableitung) steht für eine beliebige endliche Folge von Regelanwendungen bezüglich der Grammatik G {\displaystyle G} . Siehe dazu auch: Homogene Relationen.

Die kontextfreien Sprachen sind genau die Sprachen, die von einem nichtdeterministischen Kellerautomaten akzeptiert werden. Existiert gas finder mn auch ein deterministischer Kellerautomat, nennt man die Sprache auch deterministisch kontextfrei. Diese echte Teilmenge der kontextfreien Sprachen bildet die theoretische Basis für die Syntax der meisten Programmiersprachen.

Kontextfreie Sprachen können das leere Wort enthalten, z. B. durch eine Produktionsregel ( S → ε ) {\displaystyle (S\rightarrow \varepsilon )} . Einige Sätze über kontextfreie Grammatiken fordern allerdings zusätzlich, dass das leere Wort von ihr nicht erzeugt werden darf. So gibt es z. B. nur zu den kontextfreien Grammatiken eine äquivalente Grammatik in Greibach-Normalform, wenn electricity kwh cost calculator das leere Wort durch sie nicht erzeugt werden kann, da in jedem Ableitungsschritt genau ein Terminal erzeugt wird.

Für kontextfreie Grammatiken sind verschiedene Normalformen definiert. Unter der Chomsky-Normalform (CNF) sind die rechten Seiten der Nichtterminal-Produktionen eingeschränkt, d. h. auf der rechten Seite darf entweder ein einziges Terminal-Symbol oder genau zwei Nichtterminal-Symbole stehen. Wenn das Startsymbol auf der linken Seite steht, darf die rechte Seite der Produktion allerdings auch das leere Wort sein. Durch einen Algorithmus kann jede kontextfreie Grammatik in die CNF überführt werden.

Eine kontextfreie Grammatik ist in der Greibach-Normalform (GNF), wenn sie nicht das leere Wort erzeugt und die rechten Seiten der Produktionen mit maximal einem Terminal-Symbol beginnen und sonst nur Nichtterminal-Symbole electricity and magnetism physics definition enthalten. Jede kontextfreie Grammatik, die nicht das leere Wort erzeugt, kann mit einem Algorithmus in die GNF überführt werden.

Das Wortproblem für kontextfreie Sprachen, also das Problem, ob ein Wort w {\displaystyle w} von einer kontextfreien Grammatik erzeugt werden kann, ist entscheidbar. [1] Auf dem Weg der Lösung des Wortproblems kann zusätzlich ein Ableitungsbaum erzeugt werden. Dieser Ableitungsbaum wird auch Parse-Tree genannt o gosh corpus christi, und ein Programm, welches einen Parse-Tree erzeugt, ist ein Parser. Für jede kontextfreie Grammatik kann automatisch ein Parser generiert werden (siehe auch CYK-Algorithmus). Die Worst-Case-Laufzeitkomplexität eines Parsers für eine beliebige kontextfreie Grammatik liegt in O ( n 3 ) {\displaystyle {\mathcal {O}}\left(n^{3}\right)} (s. Landau-Symbole). Für Teilklassen von kontextfreien Grammatiken können Parser erzeugt werden, deren Laufzeit in O ( n ) {\displaystyle {\mathcal {O}}(n)} liegt. Ein typischer Anwendungsfall eines effizienten kontextfreien Parsers mit linearer Laufzeit ist das Parsen eines Programmiersprachen- Quelltexts durch einen Compiler.

Wenn ein Wort w {\displaystyle w} der Sprache L ( w ∈ L ( G ) {\displaystyle w\in L(G)} ) durch die Grammatik G {\displaystyle G} auf mehrere verschiedene Arten erzeugt werden kann, dann ist gas variables pogil worksheet answers diese Grammatik mehrdeutig. Ein Parser kann bei einer mehrdeutigen Grammatik für ein gegebenes Wort nicht nur einen, sondern mehrere Ableitungsbäume erzeugen. Mehrdeutigkeit ist nicht problematisch, wenn nur das Wortproblem gelöst werden soll. Wird aber den unterschiedlichen Ableitungsbäumen eine unterschiedliche Bedeutung zugeordnet, dann kann ein Wort bei einer mehrdeutigen Grammatik mehrere unterschiedliche Bedeutungen haben. Ein Beispiel für die Notwendigkeit einer z gas el salvador eindeutigen kontextfreien Grammatik ist ein Compiler, der für jede gültige Eingabe deterministisch und eindeutig ausführbaren Zielcode erzeugen muss.

Das Problem, ob eine (beliebige) kontextfreie Grammatik mehrdeutig oder nicht-mehrdeutig ist, ist nicht entscheidbar. [2] Es existieren aber Testverfahren, die für bestimmte Teilklassen der kontextfreien Grammatiken Mehrdeutigkeit bzw kansas gas service bill pay. Nicht-Mehrdeutigkeit feststellen können. [3] Je nach Testverfahren terminiert der Mehrdeutigkeits-Test nicht oder der Test liefert zurück, dass die Mehrdeutigkeit nicht festgestellt werden kann, falls die kontextfreie Eingabe-Grammatik nicht Element einer bestimmten Teilklasse von kontextfreien Grammatiken ist.

Die Vereinigung L ( G 1 ) ∪ L ( G 2 ) {\displaystyle L(G_{1})\cup L(G_{2})} der Sprachen zweier kontextfreier Grammatiken G 1 = ( V 1 , T 1 , P 1 , S 1 ) {\displaystyle G_{1}=(V_{1},T_{1},P_{1},S_{1})} und G 2 = ( V 2 , T 2 , P 2 , S 2 ) {\displaystyle G_{2}=(V_{2},T_{2},P_{2},S_{2})} kann ebenfalls von einer kontextfreien Grammatik erzeugt werden, nämlich

Dabei wird vorausgesetzt, dass die beiden Nichtterminalmengen N 1 = V 1 ∖ T 1 {\displaystyle N_{1}=V_{1}\setminus T_{1}} und N 2 = V 2 ∖ T 2 {\displaystyle N_{2}=V_{2}\setminus T_{2}} disjunkt sind ( N 1 ∩ N 2 = ∅ {\displaystyle N_{1}\cap N_{2}=\emptyset } ), und S {\displaystyle S} ein beliebiges zusätzliches Zeichen ist ( S ∉ N 1 ∪ N 2 ∪ T 1 ∪ T 2 {\displaystyle S\notin N_{1}\cup N_{2}\cup T_{1}\cup T_{2}} ), was aber für alle G 1 , G 2 {\displaystyle G_{1},G_{2}} erreicht werden kann.

Das Beispiel Wort w 2 {\displaystyle gas variables pogil worksheet answer key w_{2}} mit w 2 = z {\displaystyle w_{2}=z} ist nicht Teil der Sprache L ( G ) {\displaystyle L(G)} , da das Nichtterminal B {\displaystyle B} nicht das Startsymbol ist und über das Startsymbol jedes Wort der Sprache von den Terminal-Symbolen x {\displaystyle x} und y {\displaystyle y} eingeschlossen sein muss. In Formelschreibweise:

Für w 3 = x y {\displaystyle w_{3}=xy} existieren unter anderem die Ableitungen S 2 ( A ( x , A ( ε ) , y ) ) {\displaystyle S_{2}(A(x,A(\varepsilon ),y))} , S 2 ( A ( A ( ε ) , A ( x , A ( ε ) , y ) ) ) {\displaystyle S_{2}(A(A(\varepsilon ),A(x,A(\varepsilon ),y)))} und S 2 ( A ( A ( x , A ( ε ) , y ) , A ( ε ) ) ) {\displaystyle S_{2}(A(A(x,A(\varepsilon ),y),A(\varepsilon )))} . Also ist G 2 {\displaystyle G_{2}} mehrdeutig.

Eine stochastisch kontextfreie Grammatik kann beispielsweise dazu verwendet werden, für ein Eingabewort den wahrscheinlichsten Parse in einer syntaktisch mehrdeutigen Grammatik zu berechnen. Ein anderer Anwendungsfall ist das stochastische Samplen von Ableitungsbäumen unter den gegebenen Regelwahrscheinlichkeiten einer mehrdeutigen Grammatik. Die von einer SCFG erzeugte Sprache ist genau so definiert wie die Sprache einer CFG. SCFGs werden z. B. in der gas stoichiometry worksheet Bioinformatik und der Computerlinguistik eingesetzt.