Jack o lantern generator

Submit

Your name:
File:
Open code-statistics:

Language is selected by the extension of the file. See the list of supported languages to know the extension of your language.

Problem

Generate a jack-o-lantern with the specified parameters.
The parenthesis indicate the correct character to plot for the specified attribute.
The valid parameters are:
eye: flat(-) triangle(^) inverted-triangle(V) circle(O) wavy(~) tiny(.) narrow(|) star(*) x(x),left/right
nose: flat(-) triangle(^) inverted-triangle(V) circle(O) wavy(~) tiny(.) narrow(!) star(*) x(x)
mouth: flat(---) triangle(^) inverted-triangle(V) circle(O) wavy(/\/) tiny(.) star(*) x(X)
stem: long short none,straight/tilted/curved

The eye parameter sets the eye shape. left/right selects the left or right eye the default is both eyes.
Options after the "," are optional. Parameters for stem are order independent with either or both accepted.
"eye" requires the first parameter.
nose and mouth select the respective shapes.

go! finishes the pumpkin and prints it separated by ------- and a newline.

Most parameters are carried from pumpkin to pumpkin if not explicitly set.

I have included extensive test cases to reduce the amount of practical embedded solutions.
Parsing the input data is not trivial. Good luck


Options

exec is denied

now post-mortem time, all source codes will be revealed

Sample input:_

eye: x
nose: x
mouth: x
go!
eye: star
nose: star
mouth: star
stem: short
go!
eye: flat,left
eye: wavy,right
nose: triangle
mouth: wavy
go!
eye: inverted-triangle
nose: circle
mouth: flat
go!
eye: narrow
nose: star
mouth: tiny
stem: long
go!
eye: narrow,right
eye: triangle,left
nose: narrow
mouth: x
stem: short,curved
eye: circle
nose: x
mouth: inverted-triangle
stem: curved,long
go!
eye: triangle,left
eye: inverted-triangle,right
nose: flat
mouth: tiny
go!
eye: wavy
nose: tiny
mouth: wavy
stem: straight
go!
eye: tiny
mouth: wavy
nose: triangle
stem: long,straight
go!
eye: circle
mouth: wavy
nose: narrow
stem: none
go!
eye: narrow
nose: inverted-triangle
mouth: flat
stem: long,tilted
go!
eye: circle,left
eye: flat,right
nose: triangle
mouth: wavy
go!
eye: tiny,right
eye: circle,left
nose: flat
mouth: flat
stem: short
go!
eye: inverted-triangle
nose: star
mouth: wavy
go!
eye: flat,right
eye: flat,left
nose: inverted-triangle
mouth: flat
go!
eye: tiny
nose: tiny
mouth: flat
go!
eye: circle
nose: tiny
mouth: inverted-triangle
stem: long,curved
go!
eye: circle
nose: triangle
mouth: wavy
stem: straight,short
go!

Sample output:


 __\__
/ x x \
|  x  |
\  X  /
-------

 __\__
/ * * \
|  *  |
\  *  /
-------

 __\__
/ - ~ \
|  ^  |
\ \/\ /
-------

 __\__
/ V V \
|  O  |
\ --- /
-------
  \
 __\__
/ | | \
|  *  |
\  .  /
-------
   (
 __)__
/ O O \
|  x  |
\  V  /
-------
   (
 __)__
/ ^ V \
|  -  |
\  .  /
-------
   |
 __|__
/ ~ ~ \
|  .  |
\ \/\ /
-------
   |
 __|__
/ . . \
|  ^  |
\ \/\ /
-------
 __ __
/ O O \
|  !  |
\ \/\ /
-------
  \
 __\__
/ | | \
|  V  |
\ --- /
-------
  \
 __\__
/ O - \
|  ^  |
\ \/\ /
-------

 __\__
/ O . \
|  -  |
\ --- /
-------

 __\__
/ V V \
|  *  |
\ \/\ /
-------

 __\__
/ - - \
|  V  |
\ --- /
-------

 __\__
/ . . \
|  .  |
\ --- /
-------
   (
 __)__
/ O O \
|  .  |
\  V  /
-------

 __|__
/ O O \
|  ^  |
\ \/\ /
-------

Sample input:_

mouth: flat
nose: triangle
eye: circle
go!

Sample output:


 __\__
/ O O \
|  ^  |
\ --- /
-------

Ranking

Perl _

RankUserSizeTimeDateStatistics
1macik2970.02672012/11/05 02:47:570B / ?B / ?B
2ninjalj4700.02772012/11/03 02:07:560B / 109B / 324B

Python _

RankUserSizeTimeDateStatistics
1hallvabo2370.03472012/11/01 18:00:31139B / 64B / 32B

J _

RankUserSizeTimeDateStatistics
1I., S.(embed)3040.06592012/11/07 13:05:570B / 67B / 168B
2I., S.(embed.bin)2500.07452012/11/08 06:50:0961B / 70B / 105B
3I., S.(embed)2960.10652012/11/08 06:48:090B / 69B / 167B

C _

RankUserSizeTimeDateStatistics
1smkt17990.02142012/10/31 16:51:050B / 821B / 847B
2smkt (uncompressed)34590.02722012/10/31 14:37:42154B / 1821B / 993B
3smkt17200.02442012/11/08 12:23:000B / 835B / 754B

Language Ranking_

RankLangUserSizeScore
1Pythonhallvabo23710000
2JI., S.(embed.bin)2509480
3Perlmacik2977979
4Csmkt17201377

return top