# Context Free Grammar
A context free grammar
If we are looking at a EBNF specification such as:
```
value: dict
| list
| STRING
| NUMBER
| "true" | "false" | "null"
list : "[" [value ("," value)*] "]"
dict : "{" [pair ("," pair)*] "}"
pair : STRING ":" value
```
We know that it is a **context free grammar** because there is only one value on the left. For instance, we see that `value` only occurs once. No matter what the *context* (where we are in a program for instance) `value` will be the same thing.
---
Date: 20211109
Links to:
Tags:
References:
* []()