# Analyzing Dart

This is the table of contents for a set of tutorials that explain how to use the
analyzer package to analyze Dart source code.

## Pages

The following is a list of the pages available in this tutorial.

[Introduction][introduction] -
What capabilities does the analyzer package support?

[Performing Analysis][analysis] -
How to set up the objects used to analyze code.

[The Token Model][tokens] -
How are tokens represented?

[The AST][ast] -
What is an AST?

[The Element Model][element] -
What is the element model?

[The Type Model][type] -
What is the type model?

[analysis]: analysis.md
[ast]: ast.md
[element]: element.md
[introduction]: introduction.md
[tokens]: tokens.md
[type]: type.md
