04 What is the structure of a Chef-Program?

Recipe name

A text of your choice for a short description of the recipe.

Comment

A short description of the recipe.

Ingredients

The list of ingredients is introduced in the first line with the keyword Ingredients.

The ingredients are listed in the following lines: quantity unit ingredient The following applies:

quantity is an integer
unit determines whether the ingredients are liquid, solid or non-specific. Solid ingredients are treated as numbers in the output, liquid ingredients as characters. The following units are available:
g, kg, pinch(s) for solid ingredients
ml, l, dash(es) for liquid ingredients
teaspoon, tablespoon, cup(s) for non-specific ingredients. These ingredients can be indicated as heaped or levelled.
ingredient is a variable name that may be chosen arbitrarily, but must always be written the same way (i.e. always in the singular or plural.

Cooking time

The cooking time is optional and increases authenticity.

Cooking time: time minute(s) | hour(s).

Pre-heating

The indication of preheating is optional and increases authenticity.

Pre-heat oven to temperature degrees Celsius (gas scale marke).

Method

The list of instructions for preparation is introduced in the first line with the keyword Method:

The following lines list the individual instructions: method. The individual instructions are separated by a dot.

Instruction DEUInstruction ENGExplanation
ingredient aus dem
Kühlschrank nehmen.
Take ingredient from refrigerator.Reads in a numerical value and overwrites the existing value of the ingredient.
ingredient in die
[n-th] Schüssel geben.
Putingredient 
[into [n-th] mixing bowl].
Puts the contents of the variable ingredient into the [nth] bowl.
ingredient in die
[n-th] Schüssel unterheben.
Fold ingredient [into [n-th] mixing bowl].Takes the top value from the [nth] stack and writes it into the variable zutat.
ingredient in die
[n-th] Schüssel dazugeben.
Add ingredient
[into [n-th] mixing bowl].
Adds the value of the variable zutat from the top value of the [nth] stack and stores the result in the [nth] stack.
ingredient aus der
[n-th] Schüssel abschöpfen.
Remove ingredient
[into [n-th] mixing bowl].
Subtracts the value of the variable zutat from the top value of the [nth] stack and stores the result on the [nth] stack.
ingredient mit der
[n-te] Schüssel kombinieren.
Combine ingredient 
[into [n-th] mixing bowl].
Multiplies the value of the variable zutat by the top value of the [nth] stack and stores the result on the [nth] stack.
ingredient mit der
[n-th] Schüssel teilen.
Divide ingredient
[into [n-th] mixing bowl].
Divides the value of the variable ingredient by the top value of the [nth] stack and stores the result in the [nth] stack.
Alle festen Zutaten
zu der [n-th] Schüssel
hinzugeben.
Add dry ingredients to [n-th] mixing bowl.Adds the values of all dry ingredients and saves the result in the [nth] stack.
Inhalte der [n-th]
Schüssel auf dem
Stövchen erhitzen.
Liquefy contents of the [n-th] mixing bowl.Interprets all values of the [nth] stack as characters.
ingredient zerlassen.Liquefy ingredient.The values of the variable zutat are interpreted as characters.
Inhalt der [n-th] für
[n-th] Schüssel
gut verrühren.
Mix [the [n-th] mixing bowl] well.Puts all values of the [nth] stack in a random order.
ingredient in die
[n-th] Schüssel
für n  Minuten
unterrühren
Stir ingredient 
into the [n-th] mixing bowl.
Rotate the value of the variable in the [nth] stack down by n positions.
[n-th] Schüssel
für n Minuten umrühren.
Stir the [n-th] mixing bowl for n minute[s].Rotate all values of the [nth] stack down by n positions.
[n-th] Schüssel abwaschen.Clean [n-th] mixing bowl.Clear [nth] stack.
Inhalt der [n-th]
Schüssel auf die
[n-th] Servierplatte
stürzen.
Pour contents oft the [n-th] mixing bowl into the [n-th] baking dish.Prepare all the contents of the [nth] stack for serving.
zutat behandeln.treat the ingredient.Start of a loop. The end of the loop is marked with the instruction Treat until zutat is ready for further processing. If the variable zutat has the value 0, the loop is ended.
Solange behandeln 
bis ingredient zur Weiterarbeitung bereit.
teat [the ingredient] until treated.End of a loop. The beginning of the loop is marked with the statement treat zutat. If the variable zutat has the value 0, the loop is ended.
Zur Seite stellen.Set aside.
Immediately ends the innermost loop.
Einfrieren [für n Stunde[n]].Refrigerate [for n hour[s]].Immediately ends the programme. If a time period is specified, the contents of the first n serving plates are output. In a sub-programme, this is terminated and the contents of the first dish are returned.
Serviere mit beilagenrezept.Serve with side dish recipe.Calls the sub-programme side dish recipe.

Serves

The last section specifies how many serving dishes are to be dispensed.

Servings: number-of-portions

Side dish recipes

Side recipes are small recipes that are listed after the main recipe. Side dish recipes are performed by sous chefs who have their own number of bowls and serving dishes. These are copies of the calling chef’s bowls and serving dishes.

When the side dish recipe ends, the contents of the first bowl are poured into the chef’s bowl.

A side dish recipe can have the same ingredients as the main recipe.