1. Limitations
1.1 overgeneration
Because of a context-free grammar, the usage of elements, including noun, verb, adjectives and so on, could make no sense like ‘fur jumped slowly’ which can be parsed by my grammar without any meaning. Also, Subject-verb agreement is my grammar’s another obvious problem. The sentence ‘Nadia have left’ is a typical example that ‘have’ should be ‘has’, but my grammar ignores this. The improper use of prepositions is pointed out in my grammar with the example ‘I jumped of the water’, too.
1.2 undergeneration
The most common sentence(‘I was handsome’) can’t be parsed by my grammar because it dosen’t include subject-link verb-predicative structure. Also, my grammar doesn’t know that adverbs can modify adjectives, so it can’t parse the sentence(‘I was really handsome’). Another limitation is that it can’t distinguish between the common verb ‘have’ and the modal verb ‘have’ with failing to parse ‘I would have a cat’.
2. Testing Strategy
My testing strategy is to design the grammar step by step. Every time I meet a new sentence structure, I try to add a simple grammar to parse that sentence. Then, based on it, find the grammatical structure and enrich my grammar. Finally, design some other positive and negative sentences to test my enriched grammar to make sure that it doesn’t have any error. I try my best to find out all possible combination which I can think of and the final grammar can also handle all the handout’s test cases successfully, but it still has many limitations.