Importance, classification, and definition of formal languages; finite automata

(形式言語の重要性、種類、定義)

2rd lecture, April 15, 2016

Language Theory and Compiler

http://www.sw.it.aoyama.ac.jp/2016/Compiler/lecture2.html

Martin J. Dürst

AGU

© 2006-16 Martin J. Dürst 青山学院大学

Today's Schedule

 

Example Answers for Homework

Course Contens


Theory Compilers Other applications
Front end language theory, automata lexical analysis, parsing regular expressions, text/data formats
Back end
optimization, code generation

 

Importance of Formal Language Theory

 

Terms used for Natural Languages and Formal Languages

Field Smallest Unit Sequence Set Classification
natural language Japanese (単) 文、文書 (自然)言語

(大)語族、語族、語派、語群

English word sentence, text (natural) language

language macrofamily, family, group,...

formal language Japanese 記号 (文字など) (形式)言語 言語 (族)
English symbol (letter,...) word (formal) language language type,...

 

Basic Terms

Terms for formal languages:

 

Definition of Word

 

Concatenation Operation for Words

 

Properties of Concatenation

 

Definition of Language

A language over Σ is a set of words over Σ

Examples for lanuages over Σ ={a,b,c}:

 

More Examples of Languages

Operations on Languages

Operations on languages are combinations of operations on sets and operations on words.

 

Main Problems in Formal Language Theory

 

Languages and Automata and Grammars

 

Table of Formal Language Types

(Chomsky hierarchy)

文法 grammar Type Lanugage type automaton
句構造文法 phrase structure grammar (psg) 0 phrase structure language Turing machine
文脈依存文法 context-sensitive grammar (csg) 1 context-sensitive language linear-bounded automaton
文脈自由文法 context-free grammar (cfg) 2 context-free language push-down automaton
正規文法 regular grammar (rg) 3 regular language finite state automaton

 

Types of Automata

Automata types are distinguised by the restrictions on their "external memory":

0. The external memory is a tape of unlimited length: Turing machine

1. The external memory is a tape of limited length: linear-bounded automaton

2. The external memory is a stack where only the top can be accessed: push-down automaton

3. There is no external memory: finite state automaton

 

Example of a Grammar for a Formal Language

Example of derivation of a word from the grammar:

Sa S oa a S o oa a A o oa a y a o o

Sa a y a o o

 

Definition of Grammar

A grammar is defined as a quadruple (N, Σ, P, S)

 

書換規則

(rewriting rule)

書換規則一つは αβ と書く

α は左辺 (left-hand side)、β は右辺 (right-hand side)

αβ は 0以上の非終端記号と終端記号の列

左辺には非終端記号が最低一つ

例: aDaDDb, EFabc, FFb, Dε

反例: bcDc, εb

 

導出

(derivation)

文法と導出の例

文法:
Saba (1), SaDTa (2), TCDTa (3), TCDa (4),
DC → QC
(5), QC → QD (6), QD → CD (7),
aCaa (8), Daba (9), Dbbb (10)

(数値は書き換え規則の番号、下線は書換規則の適応範囲、普通 (宿題を含め) 省略)

導出の一例: S2 aDTa4 aDCDaa5 aQCDaa9 aQCbaa6 aQDbaa7 aCDbaa8 aaDbaa10 aabbaa

 

文法の種類

文法の種類は書換規則の制限で区別:

0. 特に制限なし: 句構造文法 (phrase structure grammar), (Chomsky) 0 型文法

1. αAβαγβ (α, β は0以上の、γ は1以上の (非)終端記号の列) の場合:
文脈依存文法 (context-sensitive grammar), (Chomsky) 1 型文法

2. Aγ は0以上の (非)終端記号の列) の場合:
文脈自由文法 (context-free grammar), (Chomsky) 2 型文法

3. AaB 又は Aa (ABa 又は Aaでも可) の場合:
正規文法 (regular grammar), (Chomsky) 3 型文法

(全ての場合に、Sε も特別に可)

 

宿題

提出期限と場所: 2016年 4月 21日 (木) 19:00 まで O 棟 5 階の O-529 号室の前の箱に投入

形式: A4 一枚 (裏も使用可)

  1. L = { a, cb, ac } の場合、L* の一番短い語 10個を列挙しなさい。
    発展問題 (解答自由): L* の長さ4の語を全て列挙しなさい。
  2. 「導出の例」で使われた文法を使って、3つの (例とお互いと) 異なる語の導出を書きなさい (途中段階を全部含む、番号・下線不要)。この文法はどの様な言語を定義しているかを推測し、説明しなさい。
    (ヒント: 推測が簡単でなかったら、導出に問題の可能性大)
    発展問題 (解答自由): 自分の推測を証明してみなさい。
  3. (提出なしだが、できなかった場合、必ず次回にノートパソコンを持参すること)
    自分のノートパソコンに cygwin をインストールする (画像つき詳細)。インストールの手順で必ず gcc, flex, bison, diff, make と m4 を選ぶ。以前インストールされた場合、必ず確認・更新。

 

Glossary

word
derivation
導出
classification
分類
symbol
記号
empty word
空語
alphabet
アルファベット
(word/language) over Σ
Σ 上の (語・言語)
concatenation (operation)
連結 (演算)
associativity
結合性 (結合率が成立つこと)
neutral element
単位元
commutativity
可換性
prefectural government (building)
県庁
keyword
予約語
well-formed formula
整論理式
Kleene closure
クリーン閉包
rule
規則
type of language
言語族
Chomsky hierarchy
チョムスキー階層
phrase structure language
句構造言語
context-sensitive language
文脈依存言語
context-free language
文脈自由言語
regular language
正規言語
Turing machine
チューリング機械
linear-bounded automaton
線形束縛オートマトン
push-down automaton
プッシュダウンオートマトン
finite state automaton
有限オートマトン
external memory
外部メモリ
nonterminal symbol
非終端記号
upper case (letter)
大文字
lower case (letter)
小文字
terminal symbol
終端記号
rewriting rule/production rule
書き換え規則・生成規則
initial/start symbol
初期記号・開始記号
derivation
導出
quadruple
四字組