<?xml version="1.0" encoding="UTF-8"?>
<record
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd"
    xmlns="http://www.loc.gov/MARC21/slim">

  <leader>04062nam a22003377a 4500</leader>
  <controlfield tag="003">OSt</controlfield>
  <controlfield tag="005">20260702150047.0</controlfield>
  <controlfield tag="008">260702s20242024sz a|||er|||| 001 0 eng d</controlfield>
  <datafield tag="020" ind1=" " ind2=" ">
    <subfield code="a">9783031439728 [hardrbound]</subfield>
  </datafield>
  <datafield tag="040" ind1=" " ind2=" ">
    <subfield code="a">University of Cebu-Banilad</subfield>
    <subfield code="c">University of Cebu-Banilad</subfield>
  </datafield>
  <datafield tag="100" ind1=" " ind2=" ">
    <subfield code="a">Moraz&#xE1;n, Marco T., </subfield>
    <subfield code="e">author. </subfield>
  </datafield>
  <datafield tag="245" ind1=" " ind2=" ">
    <subfield code="a">Programming-based formal languages and automata theory : </subfield>
    <subfield code="b">design, implement, validate, and prove / </subfield>
    <subfield code="c">Marco T. Moraz&#xE1;n.</subfield>
  </datafield>
  <datafield tag="260" ind1=" " ind2=" ">
    <subfield code="a">Switzerland : </subfield>
    <subfield code="b">Springer, </subfield>
    <subfield code="c">c2024. </subfield>
  </datafield>
  <datafield tag="300" ind1=" " ind2=" ">
    <subfield code="a">xxiii, 524 pages : </subfield>
    <subfield code="b">illustrations (black and white) ; </subfield>
    <subfield code="c">24 cm. </subfield>
  </datafield>
  <datafield tag="336" ind1=" " ind2=" ">
    <subfield code="2">rdacontent</subfield>
    <subfield code="a">text</subfield>
  </datafield>
  <datafield tag="337" ind1=" " ind2=" ">
    <subfield code="2">rdamedia</subfield>
    <subfield code="a">unmedated</subfield>
  </datafield>
  <datafield tag="338" ind1=" " ind2=" ">
    <subfield code="2">rdacarrier</subfield>
    <subfield code="a">volume </subfield>
  </datafield>
  <datafield tag="500" ind1=" " ind2=" ">
    <subfield code="a">https://doi.org/10.1007/978-3-031-439735</subfield>
  </datafield>
  <datafield tag="505" ind1=" " ind2=" ">
    <subfield code="a">Contents: Preface &#x2014; Part I Fundamental concepts &#x2014;  1 Introduction to FSM &#x2014; 2 Essential background &#x2014; 3 Types of proofs &#x2014; Part II Regular Languages &#x2014; 4 Regular expressions &#x2014; 5 Deterministic finite-state machines &#x2014; 6 Nondeterministic finite-state machines &#x2014; 7 Finite-state automatons and regular expressions &#x2014; 8 Regular grammars &#x2014; 9 Languages that are not regular &#x2014; Part III Context-free languages &#x2014; 10 Context-free languages &#x2014; 11 Pushdown automata &#x2014; 12 Equivalence of pdas and cfgs &#x2014; 13 Properties of context-free languages &#x2014; 14 Deterministic PDAs &#x2014; Part IV Context-sensitive languages &#x2014;15 Turing machines &#x2014; 16 Turing machine composition &#x2014; 17 Turing machine extension &#x2014; 18 Context-sensitive grammars &#x2014; 19 Church-turing thesis and undecidability &#x2014; 20 Complexity &#x2014; Part V Epilogue &#x2014; 21 Where to Go from here.</subfield>
  </datafield>
  <datafield tag="520" ind1=" " ind2=" ">
    <subfield code="a">"This textbook introduces formal languages and automata theory for upper-level undergraduate or beginning graduate students.

While it contains the traditional mathematical development usually employed in computational theory courses, it is also quite different from many of them.

Machines, grammars, and algorithms developed as part of a constructive proof are intended to be rendered as programs.

The book is divided into four parts that build on each other.

Part I reviews fundamental concepts. It introduces programming in FSM and reviews program design.

In addition, it reviews essential mathematical background on sets, relations, and reasoning about infinite sets.

Part II starts the study of formal languages and automata theory in earnest with regular languages.

It first introduces regular expressions and shows how they are used to write programs that generate words in a regular language.

Given that regular expressions generate words, it is only natural to ask how a machine can recognize words in a regular language.

This leads to the study of deterministic and nondeterministic finite-state machines.

Part III starts the exploration of languages that are not regular with context-free languages.

It begins with context-free grammars and pushdown automata to generate and recognize context-free languages, and it ends with a discussion of deterministic pushdown automata and illustrates why these automatons are fundamentally different from nondeterministic pushdown automata.

Part IV eventually explores languages that are not context-free, known as context-sensitive languages.

It starts by discussing the most powerful automaton known to mankind: the Turing machine.

It then moves to grammars for context-sensitive languages, and their equivalence with Turing machines is explored.

The book ends with a brief chapter introducing complexity theory and explores the question of determining if a solution to a problem is practical." --Backcover </subfield>
  </datafield>
  <datafield tag="521" ind1=" " ind2=" ">
    <subfield code="a">Adult </subfield>
  </datafield>
  <datafield tag="541" ind1=" " ind2=" ">
    <subfield code="a">Purchased</subfield>
    <subfield code="x">Ortega, Eric</subfield>
    <subfield code="y">College of Computer Studies</subfield>
    <subfield code="z">Computer Science</subfield>
  </datafield>
  <datafield tag="546" ind1=" " ind2=" ">
    <subfield code="a">Text in English </subfield>
  </datafield>
  <datafield tag="650" ind1=" " ind2=" ">
    <subfield code="a">Formal languages.</subfield>
  </datafield>
  <datafield tag="650" ind1=" " ind2=" ">
    <subfield code="a">Machine theory. </subfield>
  </datafield>
  <datafield tag="650" ind1=" " ind2=" ">
    <subfield code="a">Functional programming (Computer science).</subfield>
  </datafield>
  <datafield tag="650" ind1=" " ind2=" ">
    <subfield code="a">Compilers (Computer programs). </subfield>
  </datafield>
  <datafield tag="942" ind1=" " ind2=" ">
    <subfield code="2">ddc</subfield>
    <subfield code="c">BK</subfield>
  </datafield>
  <datafield tag="998" ind1=" " ind2=" ">
    <subfield code="c">Janna [new]</subfield>
    <subfield code="d">07/02/2026</subfield>
  </datafield>
  <datafield tag="999" ind1=" " ind2=" ">
    <subfield code="c">15448</subfield>
    <subfield code="d">15448</subfield>
  </datafield>
  <datafield tag="952" ind1=" " ind2=" ">
    <subfield code="0">0</subfield>
    <subfield code="1">0</subfield>
    <subfield code="2">ddc</subfield>
    <subfield code="4">0</subfield>
    <subfield code="7">0</subfield>
    <subfield code="a">UCBL_MAIN</subfield>
    <subfield code="b">UCBL_MAIN</subfield>
    <subfield code="c">SUBJ.REF</subfield>
    <subfield code="d">2026-07-02</subfield>
    <subfield code="e">ALBASA-Mindmover</subfield>
    <subfield code="g">10798.00</subfield>
    <subfield code="l">0</subfield>
    <subfield code="o">005.131 M79 2024</subfield>
    <subfield code="p">3UCBL000029703</subfield>
    <subfield code="r">2026-07-02</subfield>
    <subfield code="w">2026-07-02</subfield>
    <subfield code="y">SR</subfield>
  </datafield>
</record>
