Skip to content

Audience and how to use this manual

Historically, analyzing a program required a certain degree of knowledge of how compilers worked, how a program is parsed into an intermediate representation and what that representation looked like. Then, programmers would use specialized programs to write their own and arrive at answers.

SYNG aims to make static analysis more accessible to all JavaScript programmers, regardless of their background. Through a declarative query interface, you are able to search for particular statements without spelling out the internal details of their representation. If you have ever queried a database using SQL, for example, the concept will be familiar to you.

For JavaScript programmers with no prior compiler knowledge, I recommend that you go through the sections in this manual in the order they are arranged in, as later sections build on concepts introduced in earlier ones.

For compiler programmers, you can skim through the Query Guide and head straight to the Reference Guide which provides dry, but practical material for the various selectors and operators that SYNG supports. I still recommend to read through the Query syntax and structure first, though.

This website has a search feature that you can access through the button at the top, or by pressing Ctrl-K.

Copyright © 2022-present Semantic Works, Inc.