Download presentation
Presentation is loading. Please wait.
Published byBarnaby Harrison Modified over 9 years ago
1
C Sc 132 Computing Theory Professor Meiliu Lu Computer Science Department
2
Introduction An introductory course on formal languages and automata Three basic concepts: languages, grammar, & automata Purposes: to provide the foundation and basic principle of CS, to teach material that will be useful in subsequent work, and to strengthen students’ ability to use formal methods
3
Agenda Part I (before midterm): Basic concepts, Finite Automata, Regular Languages, Context Free Grammars, Parsing. Part II (after midterm): Push Down Automata, Turing Machines, and Chomsky Hierarchy, NP-complete problems Perl Regular expressions
4
3 Major Concepts Languages -- 4 formal languages for design and implement programming languages – regular, context free, context sensitive, recursively enumerable Language generators -- 4 Grammars for 4 languages
5
3 Major Concepts (cont.) Language recognizers -- 4 automata for 4 languages –finite automata, push down automata, bounded TM, Turing Machine (TM) Applications to reinforce the 3 concepts –Regular expressions in Perl –Parsing in compiler
6
Abstractions What is an abstraction? –A method and language for working with one aspect of a design. Examples: simulation, layout, specification, and models. All abstractions have limitations. We need different abstraction for different task in design and implementation of PL.
7
Class mailing list List name: csc132lu To subscribe the mailing list: –email to “majordomo@ecs.csus.edu” –leave subject open –body of the email: subscribe csc132lu Make sure you are using the list for class discussion only.
8
Summary Computing theory gives you the necessary background to understand others design and enable you to be a good designer of computer system. Abstraction makes powerful tools for you. What do you think of this course now?
9
Chapter 2. Languages Sets and Their operations Languages and Their operations
10
Sets and operations Sets, subsets, empty set, multiset Cartesian product of A and B Power set of A, 2 A, set of all subsets of A Cardinality of A, size of set A Sets operations: union, intersection, deference, universal set
11
Languages Alphabet: a finite, nonempty set S of symbols Strings: finite sequences of symbols from S Language: a set of strings from S S *, S +, empty string and empty set Language: a subset of S * Example: S = {a, b}. What are S * and S + ?
12
Language operations More languages on S –L = {a n b n : n >= 0} complement of L, S * - L concatenation (product) of languages –L 1 L 2 = {xy: x L 1, y L 2 } What is L 2 when L = {a n b n : n >= 0} ?
13
Language operations (cont.) Power of L –L 0 = { } –L n = L L n-1 –L * = L 0 L 1 … –L + = L 1 L 2 ...
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.