Languages and Finite Automata - PowerPoint PPT Presentation

1 / 10
About This Presentation
Title:

Languages and Finite Automata

Description:

Note: CFG can generate all regular languages and some non-regular languages, ... Languages and Finite Automata Author: Costas Busch Last modified by: – PowerPoint PPT presentation

Number of Views:154
Avg rating:3.0/5.0
Slides: 11
Provided by: Costa170
Category:

less

Transcript and Presenter's Notes

Title: Languages and Finite Automata


1
CSC312 Automata Theory Lecture 26 Chapter
12 by Cohen Context Free Grammars
2
  • Compiler
  • A compiler is program that converts a high level
    language code into its equivalent assembly
    language. Grammar
  • Grammar is a set of rules by which a valid
    sentence in a language is constructed.
  • Parsing the sentence
  • Parsing is the process of analyzing a text, made
    of a sequence of tokens (e.g. words), to
    determine its grammatical structure with respect
    to a given formal grammar.

3
  • Semantics
  • The grammatical rules which involve the meaning
    of words are called Semantics e.g. in English
    language, the sentence Buildings sing make no
    sense.
  • Syntactics
  • The grammatical rules that dont involve the
    meaning of the words but the structure of the
    words.
  • Context Free Grammar (CFG) general definition
  • A grammar or language based on rules that
    describe a change in the string without reference
    to elements not in the string.
  • The concept of CFG was introduce by the linguist
    Noam Chomsky in 1956.

4
CFG Terminology
  • Terminals
  • The symbols that cannot be replaced by anything
    are called terminals.
  • Non-Terminals
  • The symbols that must be replaced by other things
    are called non-terminals. e.g.
  • variable expr
  • Derivation
  • The sequence of application of the rules that
    produces the finished string of terminal from the
    starting symbol is called a derivation.
  • Productions
  • The grammatical rules are often called
    productions.

5
  • Context Free Grammar (CFG) technical definition
  • A CFG is a collection of three things
  • An alphabet ? of letters called terminal, from
    which strings or words of the language are
    formed.
  • A set of symbols called non-terminals, one of
    which is the symbol S, standing for start here.
  • A finite set of productions of the form
  • One non-terminal ? finite string of terminals and
    /or non-terminals

6
  • Note
  • The terminal are designated by small letters,
    while the non-terminals are designated by cpital
    letters.
  • There is at least one production that has the
    non-terminal S as its left side.
  • Example
  • S ? aA bX
  • A ? bA
  • X ? cX
  • The sign ? means can be replaced by and
  • the sign ? means develop into

7
  • Context Free Language (CFL)
  • The language generated by CFG is called context
    Free Language (CFL).
  • Note CFG can generate all regular languages and
    some non-regular languages, but not all the
    non-regular languages.
  • Examples

8
  • Ambiguous CFG
  • If a CFG can generate a specific string in more
    than one different ways (i.e. more than one
    leftmost derivations or parse trees) then it is
    called ambiguous CFG.
  • Note
  • A CFL is inherently ambiguous if all the CFGs
    generating the language are ambiguous.
  • Some programming language have ambiguougs
    grammars e.g. C-language.
  • Examples of CFG

9
  • Note
  • We can generate CFG for each and every regular
    language. However, there are some nonregular
    languages for which we can construct CFG and for
    some nonregualr language we cannot construct CFG.
  • It may be noted that the productions
  • S ? SS?
  • always define the language which is closed w.r.t
    concatenation i.e. the language expressed by RE
    of type r

10
  • Note
  • iii) Null string ? can not be terminal, because
    it is not part of alphabet. It terminates
    non-terminals.
  • iv) The string where non-terminal remain on right
    side is called working string.
  • v) If a word has ? at the end, then we write
    after removing it, otherwise we place ? sign.
  • Examples
Write a Comment
User Comments (0)
About PowerShow.com