{
  "title": "CS4114 Formal Languages Spring 2021",
  "desc": "CS4114 Formal Languages Spring 2021",
  "build_dir": "Books",
  "code_dir": "SourceCode/",
  "code_lang": {
    "Java": {
      "ext": [
        "java"
      ],
      "label": "Java",
      "lang": "java"
    },
    "Java_Generic": {
      "ext": [
        "java"
      ],
      "label": "Java (Generic)",
      "lang": "java"
    }
  },
  "lang": "en",
  "build_JSAV": false,
  "build_cmap": false,
  "suppress_todo": true,
  "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": 1, 
    "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": {
    "Preface": {
      "Intro": {}
    },
    "Introduction": {
      "PIFLA/FLIntro": {},
      "PIFLA/FLOverview": {},
      "PIFLA/MajorConcepts": {},
      "PIFLA/IntroGrammarEx": {
        "GramIntro3str": {
          "points": 2.0
        },
        "GramIntroanbm": {
          "points": 2.0
        },
        "GramIntroanb2n": {
          "points": 2.0
        },
        "Parens": {
          "points": 3.0
        },
        "Palendrome": {
          "points": 3.0
        }
      }
    },
    "Mathematical Background": {
      "PIFLA/SetNotation": {},
      "PIFLA/Relations": {},
      "Background/Proofs": {}
    },
    "Finite Acceptors": {
      "PIFLA/DFA":{
        "DFAEvenBinary": {
          "points": 2.0
        }
      },
      "PIFLA/DFAExercises": {
        "DFAodda": {
          "points": 5.0
        },
        "DFAoddaevenb": {
          "points": 5.0
        },
        "DFAodda3b": {
          "points": 5.0
        },
        "DFAno3a": {
          "points": 5.0
        }
      },
      "PIFLA/DFAExercises2": {
        "DFAevena": {
          "points": 5.0
        },
        "DFAevenaoddb": {
          "points": 5.0
        },
        "DFAevenamin3b": {
          "points": 5.0
        },
        "DFAbotheo": {
          "points": 5.0
        }
      },
      "PIFLA/NFA": {},
      "PIFLA/NFAExercises": {
        "NFAtoDFAex1":{
          "points": 5.0
        },
        "NFAex1":{
          "points": 5.0
        }
      },
      "PIFLA/NFAExercises2": {
        "NFAtoDFAex1long":{
          "points": 5.0
        },
        "NFAtoDFAex2":{
          "points": 5.0
        },
        "NFAex2":{
          "points": 5.0
        }
      },
      "PIFLA/DFAMinimization": {},
      "PIFLA/DFAMinExercises": {
        "DFAMinEx1": {
          "points": 5.0
        },
        "DFANotevena3b": {
          "points": 5.0
        }
      },
      "PIFLA/DFAMinExercises2": {
        "DFAMinEx2": {
          "points": 5.0
        },
        "DFANotaabb": {
          "points": 5.0
        }
      }
    },
    "Regular Languages": {
      "PIFLA/RegEx":{},
      "PIFLA/RegExExercises":{
        "RegExbbaeven": {
          "points": 5.0
        },
        "RegExnoaa": {
          "points": 5.0
        },
        "RegExonebbb": {
          "points": 5.0
        }
      },
      "PIFLA/RegExExercises2":{
        "RegExaby3": {
          "points": 5.0
        },
        "RegExcb3": {
          "points": 5.0
        },
        "RegExabyb": {
          "points": 5.0
        }
      },
      "PIFormalLang/RegularGrammars": {},
      "PIFLA/RegGramEx1": {
        "RegGramNFA1": {
          "points": 5.0
        },
        "RegGrambbbaaaa": {
          "points": 5.0
        },
        "RegGramaby3": {
          "points": 5.0
        }
      },
      "PIFLA/RegGramEx2": {
        "RegGramNFA2": {
          "points": 5.0
        },
        "RegGramaaabba": {
          "points": 5.0
        },
        "RegGramanbmodd": {
          "points": 5.0
        }
      },
      "PIFormalLang/ClosurePropertiesOfRegularLanguages": {}
    },
    "Identifying Non-regular Languages":{
      "PIFormalLang/NonRegular":{}
    },
    "Context-Free Grammars and Languages":{
      "PIFormalLang/ContexFreeLanguages": {},
      "PIFormalLang/CFLExercises": {
        "sheet5exercise1":{
          "points": 5.0
        },
        "sheet5exercise2":{
          "points": 5.0
        },
        "sheet5Practice1":{
          "points": 5.0
        },
        "sheet5Practice2":{
          "points": 5.0
        }
      },
      "PIFormalLang/CFGTransormations":{},
      "PIFormalLang/CFGTransformationsExercies":{
        "sheet6exercise1":{
          "points": 5.0
        },
        "sheet6exercise2":{
          "points": 5.0
        },
        "sheet6exercise3":{
          "points": 5.0
        },
        "sheet6exercise4":{
          "points": 5.0,
          "threshold": 0.9
        }
      }
    },
    "Pushdown Automata":{
      "PIFormalLang/PDA": {},
      "PIFormalLang/PDAExercises":{
        "sheet7exercise1":{
          "points": 5.0
        },
        "sheet7exercise2":{
          "points": 5.0
        },
        "sheet7exercise3":{
          "points": 5.0
        },
        "sheet7exercise4":{
          "points": 5.0
        }
      },
      "PIFormalLang/PDACFL": {},
      "PIFormalLang/DPDA": {}
    },
    "Properties of Context-free Languages":{
      "PIFormalLang/CFLProp":{}
    },
    "Models of Computation":{
      "VisFormalLang/TuringIntro":{},
      "PIFormalLang/TuringMachines":{},
      "PIFormalLang/TMExercises":{
        "addOnea":{ 
          "points": 5.0
        },
        "eraseABC":{ 
          "points": 5.0
        },
        "keepABC":{ 
          "points": 5.0
        },
        "aNumsPowerOf2":{ 
          "points": 5.0
        },
        "ifaNumsPowerOf2":{ 
          "points": 5.0
        },
        "abcWInWWROut":{ 
          "points": 5.0
        },
        "abcNawlargerthanNbw":{ 
          "points": 5.0
        },
        "replaceABAbyACA":{ 
          "points": 5.0
        },
        "abPalindromes":{ 
          "points": 5.0
        }
      }
    },
    "Parsing":{
      "VisFormalLang/ParseIntro":{},
      "VisFormalLang/LLParsing":{},
      "VisFormalLang/LRParsing":{},
      "VisFormalLang/CYKParsing":{},
      "VisFormalLang/Compiler":{}
    },
    "Limits to Computing": {
      "PIFormalLang/PairToSortCONPI": {},
      "PIFormalLang/LowerBound": {},
      "PIFormalLang/TwoMulExample": {},
      "PIFormalLang/TravelSalesman": {},
      "PIFormalLang/KClique": {},
      "PIFormalLang/SATProof": {},
      "PIFormalLang/NPCCoping": {},
      "PIFormalLang/UnsolveableProblems1": {},
      "PIFormalLang/UnsolveableProblems2": {}
    },
    "Appendix": {
      "Glossary": {}
    }
  }
}
