ISECON 2003 1 The COBOL DFA Tool: A Work in Progress Ronald Finkbine, Ph.D. Indiana University Southeast New Albany, IN

Slides:



Advertisements
Similar presentations
Chapter 4 An Introduction to Finite Automata
Advertisements

Recognising Languages We will tackle the problem of defining languages by considering how we could recognise them. Problem: Is there a method of recognising.
Automata Theory Part 1: Introduction & NFA November 2002.
CS 3240: Languages and Computation
Finite States: Base Elements in a Computing Orchestra Ronald Finkbine, Ph.D. Department of Computer Science Indiana University Southeast
Lecture 16 Deterministic Turing Machine (DTM) Finite Control tape head.
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
Deterministic Finite Automata (DFA)
Finite Automata CPSC 388 Ellen Walker Hiram College.
YES-NO machines Finite State Automata as language recognizers.
Chapter Two: Finite Automata
Finite Automata Course: Theory of Computation Date: Nov 16 th, 2011 Lin Liu lliu AT cs.kent.edu.
1 Languages. 2 A language is a set of strings String: A sequence of letters Examples: “cat”, “dog”, “house”, … Defined over an alphabet: Languages.
Intro to DFAs Readings: Sipser 1.1 (pages 31-44) With basic background from Sipser 0.
Intro to DFAs Readings: Sipser 1.1 (pages 31-44) With basic background from Sipser 0.
Lecture 3UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3.
Fall 2006Costas Busch - RPI1 Deterministic Finite Automata And Regular Languages.
Introduction to the Theory of Computation John Paxton Montana State University Summer 2003.
1 Languages and Finite Automata or how to talk to machines...
1 Decidability continued. 2 Undecidable Problems Halting Problem: Does machine halt on input ? State-entry Problem: Does machine enter state halt on input.
CS5371 Theory of Computation Lecture 4: Automata Theory II (DFA = NFA, Regular Language)
Rosen 5th ed., ch. 11 Ref: Wikipedia
CPSC 388 – Compiler Design and Construction Scanners – Finite State Automata.
1 Chapter 3 Scanning – Theory and Practice. 2 Overview Formal notations for specifying the precise structure of tokens are necessary –Quoted string in.
Introduction to CS Theory Lecture 3 – Regular Languages Piotr Faliszewski
Fall 2006Costas Busch - RPI1 Deterministic Finite Automaton (DFA) Input Tape “Accept” or “Reject” String Finite Automaton Output.
1 Course Overview PART I: overview material 1Introduction 2Language processors (tombstone diagrams, bootstrapping) 3Architecture of a compiler PART II:
Languages Given an alphabet , we can make a word or string by concatenating the letters of . Concatenation of “x” and “y” is “xy” Typical example: 
TRANSITION DIAGRAM BASED LEXICAL ANALYZER and FINITE AUTOMATA Class date : 12 August, 2013 Prepared by : Karimgailiu R Panmei Roll no. : 11CS10020 GROUP.
Joey Paquet, 2000, Lecture 2 Lexical Analysis.
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
Computing Machinery Chapter 4: Finite State Machines.
Lecture Notes 
1.2 Three Basic Concepts Languages start variables Grammars Let us see a grammar for English. Typically, we are told “a sentence can Consist.
Nondeterministic Finite Automata (NFAs). Reminder: Deterministic Finite Automata (DFA) q For every state q in Q and every character  in , one and only.
Chapter 5 Finite Automata Finite State Automata n Capable of recognizing numerous symbol patterns, the class of regular languages n Suitable for.
1 Introduction to Turing Machines
CS 404Ahmed Ezzat 1 CS 404 Introduction to Compiler Design Lecture 1 Ahmed Ezzat.
LECTURE 5 Scanning. SYNTAX ANALYSIS We know from our previous lectures that the process of verifying the syntax of the program is performed in two stages:
CS412/413 Introduction to Compilers Radu Rugina Lecture 3: Finite Automata 25 Jan 02.
Costas Busch - LSU1 Deterministic Finite Automata And Regular Languages.
Theory of Computation Automata Theory Dr. Ayman Srour.
Fall 2004COMP 3351 Finite Automata. Fall 2004COMP 3352 Finite Automaton Input String Output String Finite Automaton.
Deterministic Finite-State Machine (or Deterministic Finite Automaton) A DFA is a 5-tuple, (S, Σ, T, s, A), consisting of: S: a finite set of states Σ:
CIS 262 Automata, Computability, and Complexity Fall Instructor: Aaron Roth
Finite automate.
Languages.
Lecture2 Regular Language
Non Deterministic Automata
Reductions Costas Busch - LSU.
FORMAL LANGUAGES AND AUTOMATA THEORY
Deterministic Finite Automata
Two issues in lexical analysis
Chapter 2 FINITE AUTOMATA.
Undecidable Problems (unsolvable problems)
THEORY OF COMPUTATION Lecture One: Automata Theory Automata Theory.
Deterministic Finite Automata And Regular Languages Prof. Busch - LSU.
Non-Deterministic Finite Automata
Chapter Two: Finite Automata
COSC 3340: Introduction to Theory of Computation
Non-Deterministic Finite Automata
Non Deterministic Automata
CS 3304 Comparative Languages
Principles of Computing – UFCFA3-30-1
Deterministic Finite Automaton (DFA)
Instructor: Aaron Roth
CSCI 2670 Introduction to Theory of Computing
Lecture 5 Scanning.
Non Deterministic Automata
Finite Automata Fall 2018.
Presentation transcript:

ISECON The COBOL DFA Tool: A Work in Progress Ronald Finkbine, Ph.D. Indiana University Southeast New Albany, IN

ISECON Introduction Software Complexity Programmer Understandability Maintainability Reduction by Tools Reduction by Technique

ISECON Deterministic Finite Automaton Finite State Machine Abstract State Machine Moore Machine Mealy Machine Set of states Set of transitions Single input

ISECON Elementary DFA Accepts language a*b Incomplete

ISECON Benefits of DFA High-reliability Is DFA a proof or show? Mathematics is a modeling method Proofs are social constructs Diagrammatics

ISECON DFA File Sample DFACONTROL START A ACCEPT B OUTPUT-COBOL "DFA.COB" INPUT-DATA "IN.TXT" OUTPUT-DATA "OUT.TXT" DFACODE F-BEGIN DISPLAY “IN F_BEGIN” F-END DISPLAY “IN F_END” DFASTATE AA"a"F-Begin AB"b"F-End

ISECON Produced COBOL Sample F-BEGIN. DISPLAY ‘IN F-BEGIN’ F-END. DISPLAY ‘IN F-END’ MAIN-PARAGRAPH. MOVE ‘A’ TO CURRENT-STATE MOVE ‘NO ‘ TO INPUT-EMPTY READ INPUT-CHAR AT END MOVE ‘YES’ TO INPUT-EMPTY PERFORM UNTIL INPUT-EMPTY = ‘YES’ IF CURRENT-STATE = ‘A’ AND INPUT-CHAR = ‘a’ THEN MOVE ‘A’ TO CURRENT-STATE PERFORM F-BEGIN ELSE IF CURRENT-STATE = ‘A’ AND INPUT-CHAR = ‘b’ THEN MOVE ‘B’ TO CURRENT-STATE PERFORM F-END ELSE IF NOT ((INPUT-CHAR = ‘a’) OR (INPUT-CHAR = ‘b’)) THEN MOVE ‘ERROR’ TO CURRENT-STATE DISPLAY “BAD INPUT CHARACTER” ELSE MOVE ‘ERROR’ TO CURRENT-STATE DISPLAY “UNSPECIFIED STATE/TRANSITION” ENDIF READ INPUT-CHAR AT END MOVE ‘YES’ TO INPUT-EMPTY END-PERFORM IF CURRENT-STATE = ‘B’ THEN DISPLAY ‘ACCEPTED’ ELSE DISPLAY ‘REJECTED’ ENDIF

ISECON Fox, Grain, Chicken Problem A man is crossing a river on the way to market with a chicken, a bag of grain and a fox. If left unattended the fox will eat the chicken, and the chicken will eat the grain. The boat will only hold the man and one of these at a time. Your task is to work out a sequence of crossings that will affect a safe transfer of the man, the fox, the chicken and the grain safely across the river.

ISECON Fox, Chicken, Grain Solution

ISECON Text: CeFCGeC Translating into English, the input string represents: Man and chicken cross river Man returns with empty boat Man and fox cross river Man returns with chicken Man and grain cross river Man returns with empty boat Main and chicken cross river

ISECON Summary COBOL tool to input/produce DFA Vending machine assignment Not controlled experiment Intro to DFA Design methodology