16
coolinary a recipe language prof. al aho programming languages & translators columbia university spring 2011

Coolinary a recipe language prof. al aho programming languages & translators columbia university spring 2011

Embed Size (px)

Citation preview

Page 1: Coolinary a recipe language prof. al aho programming languages & translators columbia university spring 2011

coolinarya recipe language

prof. al ahoprogramming languages & translators

columbia university spring 2011

Page 2: Coolinary a recipe language prof. al aho programming languages & translators columbia university spring 2011

alpha bahsystem integrator

david gainerlanguage guru

andrew dunnproject manager

johnny webersystem architect

project team

Page 3: Coolinary a recipe language prof. al aho programming languages & translators columbia university spring 2011

what is coolinary?

•coolinary is a language parses a reduced form recipe and outputs the nutritional value

Page 4: Coolinary a recipe language prof. al aho programming languages & translators columbia university spring 2011

use cases

•development of school lunch programs

•facebook game such as café world

•calorie counting applications for mobile devices

Page 5: Coolinary a recipe language prof. al aho programming languages & translators columbia university spring 2011

coolinary structure

Page 6: Coolinary a recipe language prof. al aho programming languages & translators columbia university spring 2011

basic food types•water

•fruit

•grain

•veggies

•liquid

•meat

•dairy

Page 7: Coolinary a recipe language prof. al aho programming languages & translators columbia university spring 2011

water

•fundamental cooking ingredient

Page 8: Coolinary a recipe language prof. al aho programming languages & translators columbia university spring 2011

veggies•asparagus

•broccolli

•carrots

•cauliflower

•celery

•cucumber

•mushroom

•onion

•potato

•tomato

Page 9: Coolinary a recipe language prof. al aho programming languages & translators columbia university spring 2011

grains•barley

•corn

•millet

•oats

•rice

•rye

•spelt

•wheat

Page 10: Coolinary a recipe language prof. al aho programming languages & translators columbia university spring 2011

fruit•apple

•avocado

•banana

•cantaloupe

•grapefruit

•grapes

•honeydew

•kiwi

•lemon

•orange

•pear

•pineapple

•strawberry

•watermelon

Page 11: Coolinary a recipe language prof. al aho programming languages & translators columbia university spring 2011

cooking operations•cook

•bake

•boil

•grill

•fry

Page 12: Coolinary a recipe language prof. al aho programming languages & translators columbia university spring 2011

mixtures•combine elements

•synthesize new properties of the mixture

Page 13: Coolinary a recipe language prof. al aho programming languages & translators columbia university spring 2011

cooking operations•cook

•bake

•boil

•grill

•fry

Page 14: Coolinary a recipe language prof. al aho programming languages & translators columbia university spring 2011

cooking effects•scaled factors based on the

duration of the effect

•increase or decrease in nutrition and chemical elements

Page 15: Coolinary a recipe language prof. al aho programming languages & translators columbia university spring 2011

hello world •/* boil water */

•{

•water.boil();

•}

Page 16: Coolinary a recipe language prof. al aho programming languages & translators columbia university spring 2011

sample input• /* recipe for a steak dinner*/

• {

•potato pot;•pot.quantity = 5;•broccolli broc;•filet steak();•steak.quantity = 1;•broc.bake(10);•pot.fry(8);•steak.grill(8);•mixture steakSpecial = combine(pot, broc, steak);•display(special);

• }