THIS FILE IS OBSOLETE! This was the original OpenDSA version used in 2018.
{
  "title": "CS4114: Formal Languages and Automata Theory",
  "desc": "CS4114: Formal Languages and Automata Theory",
  "build_dir": "Books",
  "code_dir": "SourceCode/",
  "code_lang": {
    "Java": {
      "ext": [
        "java"
      ],
      "label": "Java",
      "lang": "java"
    },
    "Java_Generic": {
      "ext": [
        "java"
      ],
      "label": "Java (Generic)",
      "lang": "java"
    },
    "C++": {
      "ext": [
        "cpp",
        "h"
      ],
      "label": "C++",
      "lang": "C++"
    }
  },
  "lang": "en",
  "build_JSAV": false,
  "suppress_todo": false,
  "assumes": "recursion",
  "dispModComp": true,
  "glob_exer_options": {
    "JXOP-debug": "true"
  },
  "glob_ss_options": {
    "threshold": 1.0, 
    "points": 0.0, 
    "required": false
  }, 
  "glob_ff_options": {
    "threshold": 1.0, 
    "points": 0.0, 
    "required": false
  },
  "glob_ka_options": {
    "threshold": 5, 
    "points": 1.0, 
    "required": true
  }, 
  "glob_extr_options": {
    "code-workout": {
      "points": 2.0
    }, 
    "points": 1.0
  }, 
  "glob_pe_options": {
    "threshold": 0.9, 
    "points": 2.0, 
    "required": true
  }, 
  "chapters": {
    "Deterministic Finite Acceptors (Lectures 1.2, 2.1, 2.2)": {
      "FormalLang/DFA": {},
      "FormalLang/NFA": {},
      "FormalLang/Minimization": {}
    },
    "Regular Languages, Regular Expressions, Regular Grammars (Lectures 3.1, 3.2)": {
      "FormalLang/RegEx": {},
      "FormalLang/RegGrammar": {},
      "FormalLang/RegClosure": {}
    },
    "Identifying Non-regular Languages (Lecture 4.1)": {
      "FormalLang/NonRegular": {}
    },
    "Context-Free Languages (Lectures 4.2, 5.1)": {
      "FormalLang/CFL": {},
      "FormalLang/CFLSimp": {}
    },
    "Pushdown Automata": {
      "FormalLang/PDA": {},
      "FormalLang/PDACFL": {},
      "FormalLang/DPDA": {}
    },
    "Properties of Context-free Languages": {
      "FormalLang/CFLProp": {}
    },
    "Turing Machines": {
      "SeniorAlgAnal/Turing": {}
    },
    "Reductions and NP-Completeness": {
      "NP/Reduction": {},
      "NP/NPComplete": {},
      "NP/provingNPC": {},
      "NP/circuitSAT": {},
      "NP/SAT": {},
      "NP/threeSAT": {
        "threeSATPRO": {
          "threshold": 1.0
        }
      },
      "NP/clique": {
        "cliquePRO": {
          "threshold": 1.0
        }
      },
      "NP/independentSet": {
        "independentSetPRO": {
          "threshold": 1.0
        }
      },
      "NP/vertexCover": {
        "vertexCoverPRO": {
          "threshold": 1.0
        }
      },
      "NP/hamiltonianCycle": {
        "hamiltonianCycPRO": {
          "threshold": 1.0
        }
      },
      "NP/TSP": {
        "TSPPRO": {
          "threshold": 1.0
        }
      },
      "NP/circuitSAT_to_SAT": {},
      "NP/SAT_to_threeSAT": {},
      "NP/threeSAT_to_clique": {},
      "NP/independentSet_to_vertexCover": {},
      "NP/threeSAT_to_hamiltonianCycle": {},
      "NP/threeSAT_to_hamiltonianCycle": {},
      "NP/hamiltonianCycle_to_TSP": {},
      "NP/NPCoping": {}
    },
    "Computability": {
      "SeniorAlgAnal/Impossible": {}
    },
    "Parsing": {
      "FormalLang/ParseIntro": {},
      "FormalLang/LLParsing": {},
      "FormalLang/LRParsing": {},
      "FormalLang/CYKParsing": {},
      "FormalLang/Compiler": {}
    },
    "Appendix": {
      "Glossary": {},
      "Bibliography": {}
    }
  }
}
