Showing 0–0 of 0 results
# Exercise Title Features Description Platform Keywords
1 Introduction to the Concept of a Grammar Programmed Instruction Programmed Instruction slideshow introducing the concept of a grammar. OpenDSA Grammar
2 Grammar Construction Exercise: Three Strings Grammar Construction Exercise Exercise where user must write the grammar for a given language. This language has three strings. OpenDSA Language, Grammar
3 Grammar Construction Exercise: abb Grammar Construction Exercise Exercise where user must write the grammar for a given language. This language has some a's followed by twice as... OpenDSA Language, Grammar
4 Grammar Construction Exercise: a's and b's Grammar Construction Exercise Exercise where user must write the grammar for a given language. This language has some a's followed by some b's. OpenDSA Language, Grammar
5 Grammar Construction Exercise: Palendrome Grammar Construction Exercise Exercise where user must write the grammar for a given language. This language is palendromes on a's and b's. OpenDSA Language, Grammar
6 Grammar Construction Exercise: Balanced Parentheses Grammar Construction Exercise Exercise where user must write the grammar for a given language. This language has balanced and properly nested parentheses. OpenDSA Language, Grammar
7 Grammars for Deterministic CFL Programmed Instruction Programmed Instruction Frameset discussing grammars for deterministic context free languages. OpenDSA Context-Free Language
8 Regular Grammar Exercise: aaab*ba Grammar Construction Exercise User writes an regular grammar for the language of strings matching the regular expression (aaab*ba)*. OpenDSA Regular Expression, Regular Grammar
9 Regular Grammar Exercise: a's a Multiple of 3 Grammar Construction Exercise User writes an regular grammar for the language of strings with the number of a's being divisible by 3. OpenDSA Regular Grammar
10 Regular Grammar Exercise: Number of a's and b's is Odd Grammar Construction Exercise User writes an regular grammar for the language of strings with an odd length. OpenDSA Regular Expression, Regular Grammar
11 Regular Grammar Exercise: bb*aaa* Grammar Construction Exercise User writes an regular grammar for the language of strings that meet this regular expression: bb*aaa* OpenDSA Regular Expression, Regular Grammar
12 Regular Grammar Exercise: NFA conversion RegEx Writing Exercise User writes a regular grammar equivalent to a given NFA: Exercise 1. OpenDSA Non-Deterministic Finite Automata, Regular Grammar
13 Regular Grammar Exercise: NFA Conversion 2 Grammar Construction Exercise User writes a regular grammar equivalent to a given NFA: Exercise 2. OpenDSA Non-Deterministic Finite Automata, Regular Grammar
14 Regular Grammar Exercise: NFA Conversion to Right Regular Grammar Grammar Construction Exercise User writes a right regular grammar equivalent to a given NFA: Exercise 2. OpenDSA Non-Deterministic Finite Automata, Regular Grammar
15 Jison Grammar Exercise 1 Calculation Exercise A collection of self-practice questions where users calculate the number of strings parsed successfully by a given grammar. OpenDSA Parser Generator
16 Jison Grammar Exercise 2 Calculation Exercise A question where users calculate the number of strings parsed successfully by a given grammar. OpenDSA Parser Generator
17 Right and Left Regular Grammars Frameset Programmed Instruction Programmed Instruction Frameset presenting right and left regular grammars and conversion between them. OpenDSA Regular Grammar, Regular Language
18 Converting NFAs to Regular Grammars Frameset Programmed Instruction Programmed Instruction Frameset presenting a conversion from a NFA to an equivalent regular grammar. OpenDSA Regular Grammar, Regular Language, Non-Deterministic Finite Automata
19 Converting a RegEx to a Left Regular Grammar Frameset Programmed Instruction Programmed Instruction Frameset presenting a conversion from a regular expression to a left regular grammar. OpenDSA Regular Grammar, Regular Language
20 Converting a RegEx to a Right Regular Grammar Frameset Programmed Instruction Programmed Instruction Frameset presenting a conversion from a regular expression to a right regular grammar. OpenDSA Regular Grammar, Regular Language
21 Regular Grammars Introduction Frameset Programmed Instruction Programmed Instruction Frameset presenting an introduction to regular grammars, their definitions and properties. OpenDSA Regular Grammar, Regular Language
22 Converting Regular Grammars to NFAs Frameset Programmed Instruction Programmed Instruction Frameset presenting a conversion from a regular grammar to an equivalent NFA. OpenDSA Regular Grammar, Regular Language, Non-Deterministic Finite Automata
23 Determining Whether a Given String is Derivable from Given Grammar Exercise: Alternate Calculation Exercise, Battery A collection of self-practice questions where users determine which strings can or cannot be derived from a given grammar: Alternate. OpenDSA Context-Free Grammar, Parse Tree
24 Determining Whether a Given String is Derivable from Given Grammar Exercise Question A question where users determine which strings can or cannot be derived from a given grammar. OpenDSA Context-Free Grammar, Parse Tree
25 Context-Free Grammar Transformation: Chomsky Normal Form Frameset Programmed Instruction Programmed Instruction Frameset discussing Chomsky Normal Form for Context-Free Grammars. OpenDSA Context-Free Grammar
26 Context-Free Grammar Transformation: Greibach Normal Form Frameset Programmed Instruction Programmed Instruction Frameset discussing Greibach Normal Form for Context-Free Grammars. OpenDSA Context-Free Grammar
27 Context-Free Grammar Transformation: Remove Lambda Productions Frameset Programmed Instruction Programmed Instruction Frameset discussing removing lambda productions from Context-Free Grammars. OpenDSA Context-Free Grammar
28 Context-Free Grammar Transformation: Remove Unit Productions Frameset Programmed Instruction Programmed Instruction Frameset discussing removing unit productions from Context-Free Grammars. OpenDSA Context-Free Grammar
29 Context-Free Grammar Transformation: Useless Productions Frameset Programmed Instruction Programmed Instruction Frameset discussing removing useless productions from Context-Free Grammars. OpenDSA Context-Free Grammar
30 Context-Free Grammar Transformation Introduction Frameset Programmed Instruction Programmed Instruction Frameset discussing reasons for transforming Context-Free Grammars to simpler versions. OpenDSA Context-Free Grammar
31 Characterizing Languages Exercise 1: Alternate Question Exercise on how to characterize the strings in the language for a given grammar on a's and b's. Alternate version. OpenDSA Language, Grammar
32 Characterizing Languages Exercise 2: Alternate Question Users characterize the strings in the language for a given grammar on palindromes. OpenDSA Language, Grammar
33 Characterizing Languages Exercise 1 Question Exercise on how to characterize the strings in the language for a given grammar on a's and b's. OpenDSA Language, Grammar
34 Characterizing Languages Exercise 2 Question Exercise on how to characterize the strings in the language for a given grammar on palindromes. OpenDSA Language, Grammar
35 CFG Exercise: a^mb^ia^n, i=m+n Grammar Construction Exercise User creates a CFG that generates strings in the language a^mb^ia^n, i=m+n. OpenDSA Context-Free Grammar
36 CFG Exercise: a^mb^ic^n, i less than 3 Grammar Construction Exercise User creates a CFG that generates strings in the language a^mb^ic^n, i < 3. OpenDSA Context-Free Grammar
37 CFG Exercise: Odd length Grammar Construction Exercise User creates a CFG that generates strings in the language a^nb^m where m - n is positive, odd. OpenDSA Context-Free Grammar
38 CFG Exercise: a's and b's are equal Grammar Construction Exercise User creates a CFG that generates strings in the language where the number of a's and b's is equal. OpenDSA Context-Free Grammar
39 CFG Transformation Exercise 1 Grammar Construction Exercise User creates an equivalent CFG with no usless, lambda, or unit productions: Exercise 1. OpenDSA Context-Free Grammar
40 CFG Transformation Exercise 2 Grammar Construction Exercise User creates an equivalent CFG with no usless, lambda, or unit productions: Exercise 2. OpenDSA Context-Free Grammar
41 CFG Transformation: Chomsky Normal Form Grammar Construction Exercise User creates an equivalent CFG in Chomsky Normal Form. OpenDSA Context-Free Grammar
42 DFA Exercise: Length a Multiple of 3 with No aab Automata Construction Exercise User creates a DFA that recognizes strings with length a multiple of 3 and containing no instance of aab. OpenDSA Context-Free Grammar
43 CFG Associativity Exercise: Alternate Question, Battery A collection of self-practice questions where users evaluate a mathematical expression and deterimine if the grammar enforces correct associativity. Alternate... OpenDSA Context-Free Grammar, Ambiguity
44 Language from CFG Exercise: Alternate Question, Battery A collection of self-practice questions where users select a language description for a given CFG. Alternate version. OpenDSA Context-Free Grammar
45 CFG Determining Ambiguity Exercise: Alternate Question, Battery A collection of self-practice questions where users determine whether a given CFG is ambiguous or not. Alternate version. OpenDSA Context-Free Grammar, Ambiguity
46 CFG Expression Evaluation Exercise: Alternate Question, Battery A collection of self-practice questions where users evaluate a mathematical expression under the definition of a given CFG. Alternate version. OpenDSA Context-Free Grammar, Ambiguity
47 Extended BNF Exercise: Alternate Question, Battery A collection of self-practice questions where users select extended BNF statements matching a normal set of BNF statements. Alternate version. OpenDSA Context-Free Grammar
48 Determining Number of Parse Tree Nodes Exercise: Alternate Calculation Exercise, Battery User determines the number of nodes in a parse tree generated by a given string on a given grammar. Alternative... OpenDSA Context-Free Grammar, Parse Tree
49 CFG Ambiguity 1 Exercise: Alternate Question, Battery A collection of self-practice questions where users determine whether a given string is parsed ambiguously or not. Alternate version. OpenDSA Context-Free Grammar, Ambiguity
50 CFG Ambiguity 2 Exercise: Alternate Question, Battery A second collection of self-practice questions where users determine whether a given string is parsed ambiguously or not. Alternate version. OpenDSA Context-Free Grammar, Ambiguity
51 CFG Ambiguity 3 Exercise: Alternate Question, Battery A third collection of self-practice questions where users determine whether a given string is parsed ambiguously or not. Alternate version. OpenDSA Context-Free Grammar, Ambiguity
52 CFG Precedence and Associativity Exercise: Alternate Question, Battery A collection of self-practice questions where users evaluate a mathematical expression and deterimine if the grammar enforces correct precedence and... OpenDSA Context-Free Grammar, Ambiguity
53 CFG Associativity Exercise Question A question where users evaluate a mathematical expression and deterimine if the grammar enforces correct associativity. OpenDSA Context-Free Grammar, Ambiguity
54 Language from CFG Exercise Question Users select a language description for a given CFG. OpenDSA Context-Free Grammar
55 CFG Determining Ambiguity Exercise Question A question where users determine whether a given CFG is ambiguous or not. OpenDSA Context-Free Grammar, Ambiguity
56 CFG Expression Evaluation Exercise Calculation Exercise, Battery A collection of self-practice questions where users evaluate a mathematical expression under the definition of a given CFG. OpenDSA Context-Free Grammar, Ambiguity
57 Extended BNF Exercise Question A question where users select extended BNF statements matching a normal set of BNF statements. OpenDSA Context-Free Grammar
58 Determining Number of Parse Tree Nodes Exercise Calculation Exercise User determines the number of nodes in a parse tree generated by a given string on a given grammar. OpenDSA Context-Free Grammar, Parse Tree
59 CFG Ambiguity 1 Exercise Question A question where users determine whether a given string is parsed ambiguously or not. OpenDSA Context-Free Grammar, Parse Tree
60 CFG Ambiguity 2 Exercise Question A question where users determine whether a given string is parsed ambiguously or not. OpenDSA Context-Free Grammar, Ambiguity
61 CFG Ambiguity 3 Exercise Question A question where users determine whether a given string is parsed ambiguously or not. OpenDSA Context-Free Grammar, Ambiguity
62 CFG Precedence and Associativity Exercise Question A question where users evaluate a mathematical expression and deterimine if the grammar enforces correct precedence and associativity. OpenDSA Context-Free Grammar, Ambiguity
63 Context-Free Language Ambiguity Frameset Programmed Instruction Programmed Instruction Frameset discussing ambiguity in Context-Free Grammars. OpenDSA Context-Free Grammar
64 Parse Tree Example: Enforcing Order of Operations Algorithm Visualization Slideshow visualizing a parse tree from a grammar that enforces the correct order of operations. OpenDSA Parse Tree
65 Context-Free Language Derivation Trees Example Algorithm Visualization Visualization of a derviation tree from a given context-free grammar. OpenDSA Context-Free Language
66 Ambiguous Parse Tree Example for a Math Expression Algorithm Visualization Slideshow visualizing how generation of a parse tree from a grammar might be ambiguous. OpenDSA Parse Tree
67 Context-Free Language Derivations Frameset Programmed Instruction Programmed Instruction Frameset discussing derivations of strings from Context-Free Grammars. OpenDSA Context-Free Language
68 Context-Free Language Derivation Trees Frameset Programmed Instruction Programmed Instruction Frameset discussing derivation trees for Context-Free Grammars. OpenDSA Context-Free Language
69 Ambiguous Parse Tree Example for a Math Expression: 2 Algorithm Visualization Slideshow visualizing a second example of how generation of a parse tree from a grammar might be ambiguous. OpenDSA Parse Tree
70 Context-Free Language Membership Problem Frameset Programmed Instruction Programmed Instruction Frameset discussing how to recognize if a given string is derivable from a given Context-Free Grammar. OpenDSA Context-Free Language
71 Parsing an Expression Algorithm Visualization, User Supplied Data Algorithm Visualization for generating the parse tree of a user-supplied mathematical expression. Demonstrates that the associated grammar enforces the correct... OpenDSA Parse Tree