Semantics: - Yilmaz Kilicaslan

mumpsimuspreviousΤεχνίτη Νοημοσύνη και Ρομποτική

25 Οκτ 2013 (πριν από 3 χρόνια και 11 μήνες)

51 εμφανίσεις

Formal Languages and Abstract Machines


Course Description


Yılmaz Kılıçaslan

18

May

2010


Prerequisites


To know at least one of the logic programming languages (Artificial Intelligence and Logic
Programming).


Objectives


The main objective of the
course is to study Computation Theory as one of the major theories
of Computer Science in terms of types and levels of formal languages and abstract machines.


Also, to have a look at compiler programs and to develop natural language processing
application
s within the theoretical framework to be set up are determined as secondary
objectives of the course.



Syllabus


The course begins with a discussion of t
he development of machines throughout the history.
Afterwards, Gödel’s Incompleteness Theorem and Tur
ing’s Uncomputability Theorem are
examined as theories determining the limits of axiomatic logic. Then,
languages and
correspo
nding machines are classified according to the
Chomsky hierarchy from simple to
complex and studied in turn with applications.
The formal language techniques learnt in the
course are applied to
the morphological, syntactic and semantic dimensions of
natural
languages with particular emphasis in Turkish.
Furthermore, the tools for the lexical and
syntactic analysis of programming
languages are examined within the formal languages
paradigms studied in the course.


The topics to be covered are as follows:




Historical development of machines



Gödel’s Incompleteness Theorem



Turing’s Uncomputability Theorem



Chomsky Hierarchy



Regular
Languages



Context
-
Free Languages



Context
-
Sensitive Languages



Recurisively Enumerable Languages



Regular Expressions



Finite
-
State Automata



Non
-
Deterministic Finite
-
State Automata



Two
-
Way Finite
-
State Automata



Push
-
Down Automata



Length
-
Limited Tapes



Turing M
achines



Morphological Analysis of Turkish with Finite
-
State Automata



Context
-
Independent Syntactic Analysis of Turkish with DCG



Lex as a Lexical Analyzer for Programming Languages



Yacc as a Syntactic Analyzer for Programming Languages





Schedule


The
contents of lectures are scheduled as shown in the following table:



WEEK

TOPIC

1

Historical Development of M
achines
,
L
imits of

Logic and C
omputation

2

Scaling Formal Languages and Abstarct Machines from Simple to Complex

3

Finite
-
State Automata

4

Morphological Analysis of Turkish

5

Regular Expressions

6

Regular Languages

7

Push
-
Down Automata and Context
-
Free Languages

8

Syntactic Analysis of Turkish

9

Lex

1
0

Yacc


1
1

Context
-
Sensitive Languages

1
2

Turing Ma
chines



Intellectual Development


The aim of the course is to make students grasp computer science in its interaction with
mathematics and formal language theory. The most important gain which the course may
offer is to enable our students close to graduation to approach their profession

through the
perspective of computer science.


Activities


The course consists of two hours lectures each week. The theoretical content of the course
will be offered with practices to be carried out in tandem. Moreover, the stu
dents will be
assigned homewo
rks to make outside of the class.


References




Hop
croft, J.E.


and Ullman J.D.
(1979).
Introduction to Automata Theory, Languages, and
Computation

(1st ed.). Addison
-
Wesley.




Gazdar
,
G
. and
Mellish

C
. (
1989
).
Natural Language Processing in Prolog
.

Addison
-
Wesley.