Introduction
There are many scenarios in which Adaptive Property values need to be
computed. In order to define Log filters or generate strings to
represent a property value, we created Templates that allowed the user
to substitute variables. Eventually, we needed the ability to call
adaptive functions to compute more complex values, and this lead to
Expressions. Finally, we would use computed values to implement
Adaptive Model on
functions and Authorization logic.
Using expressions for these situations was difficult to program, and as
a result, a more procedural scripting language, or Adaptive Script, was
created for this purpose.
Like Adaptive Expressions, Adaptive Script is intended to work well with objects and metadata and have a natural integration with data types and functions that are provided by core and extensions. You will find Adaptive Script has some similarities with popular scripting languages such as Javascript, Typescript and Python. This isn't an accident - we wanted to create a language that was approachable and provided users some familiarity with other languages that were popular at the time of its design.
In this reference, we will explore all of the language features of Adaptive Script, so you will understand both the similarities it has with other common languages, but also how they are different in order to avoid confusion.
This reference is a manual organization and description of the Syntax EBNF. If you are interested in the complete grammar definition, please see the complete Syntax EBNF