A Mealmaster file is a human-readable text-document and it can contain multiple recipes.The Mealmaster format has been used to exchange recipes in Usenet groups for two decades now, resulting in a huge legacy of recipes. AnyMeal is being tested with more than 250,000 recipes.
In our days there is a lot of recipe software, ranging from expensive to free and open-source software.
AnyMeal's Mealmaster-compiler is able to filter UTF-8 sequences. The following byte sequences are used to represent a character. The sequence to be used depends on the Unicode number of the character:
| UTF-8 sequences | |
|---|---|
| U-00000000 - U-0000007F: | 0xxxxxxx |
| U-00000080 - U-000007FF: | 110xxxxx 10xxxxxx |
| U-00000800 - U-0000FFFF: | 1110xxxx 10xxxxxx 10xxxxxx |
| U-00010000 - U-001FFFFF: | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx |
| U-00200000 - U-03FFFFFF: | 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx |
| U-04000000 - U-7FFFFFFF: | 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx |
For security reasons, a UTF-8 decoder must not accept UTF-8 sequences that are longer than necessary to encode a character. All overlong UTF-8 sequences start with one of the following byte patterns:
| Overlong (malformed) UTF-8 sequences | |
|---|---|
| 1100000x (10xxxxxx) | |
| 11100000 100xxxxx (10xxxxxx) | |
| 11110000 1000xxxx (10xxxxxx 10xxxxxx) | |
| 11111000 10000xxx (10xxxxxx 10xxxxxx 10xxxxxx) | |
| 11111100 100000xx (10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx) | |
Also note that the code positions U+D800 to U+DFFF (UTF-16 surrogates) as well as U+FFFE and U+FFFF must not occur in normal UTF-8 or UCS-4 data. UTF-8 decoders should treat them like malformed or overlong sequences for safety reasons.
Mealmaster = recipe Mealmaster
/ *( VCHAR / SP ) eol Mealmaster
/
recipe = header title categories servings ingredients instructions footer
header = separator *( VCHAR / SP ) "Meal-Master" *( VCHAR / SP ) eol
title = ' Title: ' 0*60( VCHAR / SP ) eol
categories = 'Categories: ' categlist eol
categlist = 1*11( VCHAR / SP ) ["," categlist]
servings = ' Servings: ' 1*4( DIGIT ) [ SP [ 1*10( VCHAR / SP ) ] ] eol
ingredients = onecolumn
/ twocolumn
onecolumn = section onecolumn
/ ingredone eol onecolumn
/ *( SP ) eol onecolumn
/
twocolumn = section twocolumn
/ ingredtwo SP ingredone eol twocolumn
/ ingredone eol [ *( eol ) section twocolumn ]
/
ingredone = amount SP unit SP 1*28( VCHAR / SP )
ingredtwo = amount SP unit SP 28( VCHAR / SP )
amount = 7( SP / DIGIT / "." / "/" )
unit = 'x ' / 'sm' / 'md' / 'lg' / 'cn' / 'pk' / 'pn' / 'dr' / 'ds'
/ 'ct' / 'bn' / 'sl' / 'ea' / 't ' / 'ts' / 'T ' / 'tb' / 'fl'
/ 'c ' / 'pt' / 'qt' / 'ga' / 'oz' / 'lb' / 'ml' / 'cb' / 'cl'
/ 'dl' / 'l ' / 'mg' / 'cg' / 'dg' / 'g ' / 'kg' / ' '
instructions = 0*255( VCHAR ) eol instructions
/ section instructions
/
section = separator *( VCHAR / SP ) eol
footer = separator eol
separator = 'MMMMM'
/ '-----'
eol = [ CR ] LF
5), a floating point number (e.g.7.5), a fraction (e.g. 3 / 8), or a composite number (e.g. 2 1/2). | special tokens | |
|---|---|
| x | "per serving" (quantity not to be scaled) |
| placeholder (no unit) | |
| metric unit of volume | |
| ml | milliliter (0.001 liter) |
| cl | centiliter (0.01 liter) |
| dl | deciliter (0.1 liter) |
| l | liter |
| metric unit of weight | |
| mg | milligram (0.001 gram) |
| cg | centigram (0.01 gram) |
| dg | decigram (0.1 gram) |
| g | gram |
| kg | kilogram (1000 gram) |
| U.S. unit of volume | |
| fl | fluid ounce (1/128 gallon or 28.4130625 milliliter) |
| pt | pint (1/8 gallon or 473.176473 milliliter) |
| qt | quart (1/4 gallon or 0.946352946 liter) |
| ga | gallon (3.785411784 liter) |
| U.S. unit of weight | |
| oz | ounce (1/16 pound or 28.34952312 gram) |
| lb | pound (453.59237 gram) |
| unprecise unit of volume | |
| dr | drop (1/5 dash) |
| ds | dash (1/2 pinch) |
| pn | pinch (1/8 teaspoon) |
| ts | teaspoon (1/6 fluid ounce or 4.928921595 milliliter) |
| tb | tablespoon (1/2 fluid ounce or 14.7867647825 milliliter) |
| c | cup (8 fluid ounces or 236.5882365 milliliter) |
| unprecise description of size | |
| sm | small |
| md | medium |
| lg | large |
| unprecise description of quantity | |
| cn | can |
| pk | package |
| ct | carton |
| sl | slice |
| bn | bunch |
| alternate tokens | |
| ea | "each" (deprecated placeholder) |
| cb | cubic centimeter (1 milliliter) |
| t | teaspoon |
| T | tablespoon |
onions; chopped).
MMMMM----------------Meal-Master recipe exported by AnyMeal-----------------
Title: Fruit-Meringue-Pie
Categories: pastries,cakes
Servings: 1 pie
MMMMM----------------------------sponge mixture-----------------------------
150 g soft butter
150 g sugar
3 eggs
150 g flour
1 ts baking powder
MMMMM-------------------------------meringue--------------------------------
4 egg white
150 g sugar
50 g almond leaves
MMMMM-------------------------------filling---------------------------------
370 g sour cherries;dripped off (
-1 glass)
1 1/2 tb cornflour
1/4 l cherry juice
250 g cream
1 tb sugar
1 pk stabiliser
Butter spring form with butter paper. Preheat oven to 200°.
MMMMM----------------------------sponge mixture-----------------------------
Stir butter, sugar and eggs until foamy, mix flour and baking powder and stir
in. Fill dough in in two spring forms and smooth down. Pre-bake for 15
minutes.
MMMMM-------------------------------meringue--------------------------------
Beat egg white until stiff and let sugar trickle in spoon by spoon. Beat
until stiff. Spread meringue base on pre-backed flan bases. Scatter almond
leaves over them. Bake for further 10-15 minutes. Let flan bases cool down on
a grid.
MMMMM-------------------------------filling---------------------------------
For the filling mix cornflour with some cherry juice. Bring remaining juice
to boiling point, stir in cornflour and boil up. Mix in sour cherries, let
cool down a bit and spread over one flan base.
Beat cream with sugar and stabiliser until stiff, spread over filling.
Cut second flan base in 12 pieces and reassemble on top of the filling. Let
cool down well.
MMMMM
---------- Recipe via Meal-Master (tm) v8.01
Title: Cannoli
Categories: Italian, Desserts
Yield: 16 servings
----------------------------------FILLING----------------------------------
1 1/2 c Whole-milk ricotta cheese; 1 1/2 c Milk chocolate;
- well drained - coarsely chopped
3 tb Sugar 1/4 c Pistachio nuts;
1 1/2 ts Cinnamon - coarsely chopped
-----------------------------------DOUGH-----------------------------------
1 c All-purpose flour - or dry white wine
1 tb Sugar 2 c Vegetable oil
1 tb Butter or lard Colored sprinkles
4 tb To 5 Tbl sweet Marsala wine
In a bowl, combine all the filling ingredients and mix well. Refreigerate,
covered, until ready to fill the cannoli shells.
To make the dough, place the flour in a bowl or food processor. Add the
butter or lard and sugar and mix with a fork, or pulse, until the mixture
resembles coarse meal. Slowly add the 1/4 cup of wine and shape the mixture
into a ball; add a little more wine if the dough appears too dry. It should
be soft but not sticky. Knead the dough on a floured surface until smooth,
about 10 minutes. Wrap the dough and refrigerate for 45 minutes.
Place the chilled dough on a floured work surface. Divide the dough in
half. Work with 1 piece of dough at a time; keep the remaining dough
refrigerated. Roll the dough out to a very thin long rectangle about 14
inches long and 3 inches wide, either by hand or using a pasta machine set
to the finest setting. Cut the dough into 3-inch squares. Place a cannoli
form diagnoally across 1 square. Roll the dough up around the form so the
points meet in the center. Seal the points with a little water. Continue
making cylinders until all the dough is used.
In an electric skillet, heat the vegetable oil to 375F. Fry the cannoli 3
or 4 at a time, turning them as they brown and blister, until golden brown
on all sides. Drain them on brown paper. When they are cool enough to
handle, carefully slide the cannoli off the forms.
To serve, use a long iced tea spoon or a pastry bag without a tip to fill
the cannoli with the ricotta cheese mixture. Dip the ends into colored
sprinkles, arrange them on a tray, and sprinkle confectioner's sugar over
the tops. Serve at once.
NOTE: If you prefer, you can fry the cannoli in a deep fryer. Be sure to
fill the cannoli just before serving - any sooner will make the shells
soggy.
This recipe from CIAO ITALIA by Mary Ann Esposito
-----
-----, : or MMMMM in the instructions-text from being interpreted as a special token, some recipe applications prepend all instruction lines with a single space character, which needs to be ignored during import.