# Separation of Grammar and Semantics.

Chevrotain is not limited like many other parsing libraries to only embedding actions inside the grammar, It can also automatically create a Concrete Syntax Tree (opens new window) Which can later be traversed using the visitor pattern (opens new window).

This implements the design principle of Separation of Concerns (opens new window) which enables re-use of the same pure grammar for multiple purposes.

See example of two identical mathematical expression grammars: