Have you ever wondered how your computer figures out the meaning of your code? Humans can quickly get lost, but the computer always keeps up, no matter how deeply you nest those conditionals. In this session, we'll learn how computers use lexers and parsers to determine the meaning of code (or any other structured syntax) in accordance to a particular grammar. We'll discuss some of the theory behind grammars, and the role of context in grammars (and human languages). And we'll walk through the eqn gem (https://github.com/schneidmaster/eqn) which applies these principles and uses a parser generator to safely evaluate mathematical equation strings in ruby.