Expander

The ORCHESTRA expander is a text pre-processor that filters and “expands” all text input files, and makes it possible to:

  • use and define classes,
  • “include” other text files,
  • define classes in one input file and use them in other files
  • evaluate numerical expressions in an input file

 

Example class definition: 

@class: testclass( parameter){
Hello <parameter>!
}

Use the class:

@testclass(world)

The expander replaces

"@testclass(world)"

with the text:

Hello world!

 

Example including a textfile

@include: objects2020.txt

ORCHESTRA will replace the include statement with the text of the included file. This file may contain class definitions that can be now be used in the file after the include statement. This is standard practice for building a class/object library.

Example evaluating expression

The statement:

@evaluate: (“3+4”)

is replaced by the expander by “7”.

It is also possible to use numerical expression classes in the evaluation, and to use the evaluation in  a class defintion:

@class: nr_timesteps(){

@evaluate:("@total_time()/@delta_t()")

}

Testing the expander within the ORCHESTRA composer

In the COMPOSER all text editor pages have the option to show expanded text. To switch between original and expanded text simply click the “Tex view – Expanded view” button.

Original text:

Expanded text: