summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
Diffstat (limited to 'data')
-rw-r--r--data/new-sample-grammars/perchance/meal.gram35
-rwxr-xr-xdata/sample-grammars/24hr-rpg.gram408
-rwxr-xr-xdata/sample-grammars/diablo-ii/diabloii.gram7
-rwxr-xr-xdata/sample-grammars/diablo-ii/diabloiiitems.gram24
-rwxr-xr-xdata/sample-grammars/diablo-ii/diabloiiperish.gram5
-rwxr-xr-xdata/sample-grammars/diablo-ii/diabloiiprefixes.gram13
-rwxr-xr-xdata/sample-grammars/diablo-ii/diabloiisuffixes.gram11
-rwxr-xr-xdata/sample-grammars/dungeondressing/bedroom.gram73
-rwxr-xr-xdata/sample-grammars/dungeondressing/monster.gram11
-rw-r--r--data/sample-grammars/eastern-sun/easternsunsocketing.gram5
-rwxr-xr-xdata/sample-grammars/long-data/cards.gram56
-rwxr-xr-xdata/sample-grammars/long-data/letters.gram6
-rwxr-xr-xdata/sample-grammars/long-data/nation.gram436
-rwxr-xr-xdata/sample-grammars/long-data/numbers.gram21
-rwxr-xr-xdata/sample-grammars/long-data/planet.gram2
-rwxr-xr-xdata/sample-grammars/long-data/real-city.gram153
-rwxr-xr-xdata/sample-grammars/long-data/real-company.gram415
-rwxr-xr-xdata/sample-grammars/long-data/relative.gram2
-rwxr-xr-xdata/sample-grammars/long-data/roman-numeral.gram6
-rwxr-xr-xdata/sample-grammars/long-data/town-name.gram282
-rwxr-xr-xdata/sample-grammars/long-data/tree.gram2
-rwxr-xr-xdata/sample-grammars/media.gram4
-rwxr-xr-xdata/sample-grammars/rtwiki/adjective.gram4
-rwxr-xr-xdata/sample-grammars/rtwiki/color.gram46
-rwxr-xr-xdata/sample-grammars/rtwiki/death-cause.gram6
-rwxr-xr-xdata/sample-grammars/rtwiki/fantasy-name.gram17
-rwxr-xr-xdata/sample-grammars/rtwiki/favorite.gram8
-rwxr-xr-xdata/sample-grammars/rtwiki/guns.gram26
-rwxr-xr-xdata/sample-grammars/rtwiki/item.gram7
-rwxr-xr-xdata/sample-grammars/vaultsofnagoh/turboghoul-hats.gram18
-rwxr-xr-xdata/server-config-sample.cfg3
31 files changed, 1013 insertions, 1099 deletions
diff --git a/data/new-sample-grammars/perchance/meal.gram b/data/new-sample-grammars/perchance/meal.gram
new file mode 100644
index 0000000..252c207
--- /dev/null
+++ b/data/new-sample-grammars/perchance/meal.gram
@@ -0,0 +1,35 @@
+[meal] It's a [adjective] dish with [type] [main] .
+ The [adjective] [main] is paired with a [size] serving of [condiment] .
+ A [main] with with a bit of [condiment] and some [adjective] [side] on top .
+
+pragma export-rule [meal]
+
+[adjective] vegan
+ Indonesian
+ Italian
+ delicious
+
+[main] risotto
+ pie
+ stir-fry
+ curry
+
+[side] bowl of rice
+ salad
+ fries
+ fried mushrooms
+ pumpkin soup
+
+[type] a [size] serving of
+ well-cooked
+ unusually fresh
+ roasted
+
+[size] small
+ large
+ tiny
+
+[condiment] <^2> pepper
+ salt
+ chili flakes
+ oregano
diff --git a/data/sample-grammars/24hr-rpg.gram b/data/sample-grammars/24hr-rpg.gram
index e372256..aeb92ed 100755
--- a/data/sample-grammars/24hr-rpg.gram
+++ b/data/sample-grammars/24hr-rpg.gram
@@ -1,9 +1,9 @@
-[rpg-name] → [rpg-part] , [rpg-part] and [rpg-part]
- [rpg-part] and [rpg-part]
- [rpg-part] / [rpg-part]
- [rpg-part] the [rpg-part]
- [rpg-part] : [rpg-part] the [rpg-part]
- [rpg-part] : [rpg-part] [rpg-part]
+[rpg-name] [rpg-part] and [rpg-part]
+ [rpg-part] / [rpg-part]
+ [rpg-part] the [rpg-part]
+ [rpg-part] : [rpg-part] the [rpg-part]
+ [rpg-part] : [rpg-part] [rpg-part]
+ [rpg-part] , [rpg-part] and [rpg-part]
[rpg-name-phrase] [quote-rpg-name] was just released
[quote-rpg-name] vs [quote-rpg-name] : which is better?
@@ -15,201 +15,201 @@
pragma initial-rule [rpg-name-phrase]
pragma export-rule [rpg-name]
-[rpg-part] → tits
- teeth
- claws
- fluff
- crunch
- tools
- guns
- treachery
- post-apocalyptic
- underwater
- terror
- fast food
- military
- fortress
- pirates
- metalhead
- genies
- insects
- environmentalism
- voodoo
- pitchforks
- inventors
- bomb technicians
- zombies
- vampires
- the 70s
- ninjas
- cards
- rebellion
- cannibals
- beast men
- dancing
- monty python
- energy crisis
- orchestra
- summer
- trolls
- medical
- time manipulation
- hitchhiking
- meteors
- the meaning of life
- literary figures
- wrestlers
- tournament
- imaginary friends
- world leaders
- exploration
- fish
- gods
- trading
- rap battles
- creation
- blurring boundaries
- animals
- bounty hunters
- organized crime
- high school
- cybernetics
- aliens
- contemporary world
- urban fantasy
- Nazis
- robots
- surfers
- gentlemen
- haberdashery
- zeppelins
- demons
- rapscallions
- memory loss
- repetition
- martial arts
- conquistadors
- winter
- mummies
- orcs
- reinterpreted myths
- machinery
- harmony
- motorcycles
- horses
- limited time
- ancient
- sleepovers
- submarines
- ambition
- colors
- marshmallows
- the 90s
- neckbeards
- unicorns
- clothing
- hunting
- world war I
- trees
- magical girls
- game show
- dragons
- recursion
- musicians
- construction
- plants
- cats
- drugs
- surgery
- politics
- cartoons
- athletics
- disease
- computers
- cowboys
- cars
- cooking
- samurai
- spaceships
- dinosaurs
- candy
- krakens
- chainsaws
- fists
- crowbars
- lava
- elf
- emperor
- loch ness monster
- knights
- celebrities
- video games
- elves
- the 2000s
- rush hour traffic
- spandex
- stand-up comedy
- nano-machines
- mutation
- dice
- soft drinks
- labyrinth
- totalitarianism
- prostitutes
- cell phones
- death
- the line at the DMV
- office
- mars
- the sun
- survival
- autumn
- portals
- world war II
- the internet
- brewing
- alternate universe
- tanks
- jewelry
- marketplace
- dungeon building
- business
- coins
- crustaceans
- plumbing
- parasites
- rockets
- electricity
- speed
- reincarnation
- theatrics
- storm chasers
- curiosity
- horror
- tragedy
- big damn heroes
- SCIENCE!
- transhumanism
- spring
- scandal
- desert
- laboratory
- hipsters
- obscure
- dwarves
- outer space
- trains
- religion
- espionage
- small scale
- unicycles
- airplanes
- werewolves
- fashion
- JUSTICE!
- suburbs
- art
- skies
- madness
- economy
- the 60s
+[rpg-part] Tits
+ Teeth
+ Claws
+ Fluff
+ Crunch
+ Tools
+ Guns
+ Treachery
+ Post-Apocalyptic
+ Underwater
+ Terror
+ Fast Food
+ Military
+ Fortress
+ Pirates
+ Metalhead
+ Genies
+ Insects
+ Environmentalism
+ Voodoo
+ Pitchforks
+ Inventors
+ Bomb Technicians
+ Zombies
+ Vampires
+ The 70s
+ Ninjas
+ Cards
+ Rebellion
+ Cannibals
+ Beast Men
+ Dancing
+ Monty Python
+ Energy Crisis
+ Orchestra
+ Summer
+ Trolls
+ Medical
+ Time Manipulation
+ Hitchhiking
+ Meteors
+ The Meaning Of Life
+ Literary Figures
+ Wrestlers
+ Tournament
+ Imaginary Friends
+ World Leaders
+ Exploration
+ Fish
+ Gods
+ Trading
+ Rap Battles
+ Creation
+ Blurring Boundaries
+ Animals
+ Bounty Hunters
+ Organized Crime
+ High School
+ Cybernetics
+ Aliens
+ Contemporary World
+ Urban Fantasy
+ Nazis
+ Robots
+ Surfers
+ Gentlemen
+ Haberdashery
+ Zeppelins
+ Demons
+ Rapscallions
+ Memory Loss
+ Repetition
+ Martial Arts
+ Conquistadors
+ Winter
+ Mummies
+ Orcs
+ Reinterpreted Myths
+ Machinery
+ Harmony
+ Motorcycles
+ Horses
+ Limited Time
+ Ancient
+ Sleepovers
+ Submarines
+ Ambition
+ Colors
+ Marshmallows
+ The 90s
+ Neckbeards
+ Unicorns
+ Clothing
+ Hunting
+ World War I
+ Trees
+ Magical Girls
+ Game Show
+ Dragons
+ Recursion
+ Musicians
+ Construction
+ Plants
+ Cats
+ Drugs
+ Surgery
+ Politics
+ Cartoons
+ Athletics
+ Disease
+ Computers
+ Cowboys
+ Cars
+ Cooking
+ Samurai
+ Spaceships
+ Dinosaurs
+ Candy
+ Krakens
+ Chainsaws
+ Fists
+ Crowbars
+ Lava
+ Elf
+ Emperor
+ Loch Ness Monster
+ Knights
+ Celebrities
+ Video Games
+ Elves
+ The 2000s
+ Rush Hour Traffic
+ Spandex
+ Stand-Up Comedy
+ Nano-Machines
+ Mutation
+ Dice
+ Soft Drinks
+ Labyrinth
+ Totalitarianism
+ Prostitutes
+ Cell Phones
+ Death
+ The Line At The DMV
+ Office
+ Mars
+ The Sun
+ Survival
+ Autumn
+ Portals
+ World War II
+ The Internet
+ Brewing
+ Alternate Universe
+ Tanks
+ Jewelry
+ Marketplace
+ Dungeon Building
+ Business
+ Coins
+ Crustaceans
+ Plumbing
+ Parasites
+ Rockets
+ Electricity
+ Speed
+ Reincarnation
+ Theatrics
+ Storm Chasers
+ Curiosity
+ Horror
+ Tragedy
+ Big Damn Heroes
+ SCIENCE!
+ Transhumanism
+ Spring
+ Scandal
+ Desert
+ Laboratory
+ Hipsters
+ Obscure
+ Dwarves
+ Outer Space
+ Trains
+ Religion
+ Espionage
+ Small Scale
+ Unicycles
+ Airplanes
+ Werewolves
+ Fashion
+ JUSTICE!
+ Suburbs
+ Art
+ Skies
+ Madness
+ Economy
+ The 60s
diff --git a/data/sample-grammars/diablo-ii/diabloii.gram b/data/sample-grammars/diablo-ii/diabloii.gram
index 2c02b6c..2fcdf24 100755
--- a/data/sample-grammars/diablo-ii/diabloii.gram
+++ b/data/sample-grammars/diablo-ii/diabloii.gram
@@ -10,16 +10,13 @@ pragma initial-rule [base-treasures]
pragma despace-rule [quote-treasure]
-[base-treasure] a [item]
+[base-treasure] <^3> a [item]
[non-item]
[non-item] <^4> [money]
nothing
-pragma export-rule [non-item]
-
[money] [diablo-amount] [money-type]
- [diablo-amount] [metal-type] [money-type]
[diablo-amount] 2
5
@@ -39,7 +36,7 @@ pragma export-rule [diablo-amount]
[money-type] coins
-#pragma prefix-with [money-type] [metal-type]
+pragma prefix-with [money-type] [metal-type]
[metal-type] copper
silver
diff --git a/data/sample-grammars/diablo-ii/diabloiiitems.gram b/data/sample-grammars/diablo-ii/diabloiiitems.gram
index 5fa174b..e638f99 100755
--- a/data/sample-grammars/diablo-ii/diabloiiitems.gram
+++ b/data/sample-grammars/diablo-ii/diabloiiitems.gram
@@ -129,6 +129,7 @@ pragma prefix-with [clubs] [club-prefix]
[club-prefix] spiked
war
+ dire
[spears] javelin
spear
@@ -160,12 +161,9 @@ pragma prefix-with [axes] [axe-size]
hand
[bows] [act-arrow] [quote-count]
- [act-bow]
- [act-bow]
- [act-bow]
- [act-bow]
+ <^4> [act-bow]
-[act-arrow] arrow
+[act-arrow] <^2> arrow
[gem-type] -tipped arrow
[act-bow] bow
@@ -182,12 +180,9 @@ pragma prefix-with [act-bow] [bow-size]
war
[crossbows] [act-bolt] [quote-count]
- [act-crossbow]
- [act-crossbow]
- [act-crossbow]
- [act-crossbow]
+ <^4> [act-crossbow]
-[act-bolt] bolt
+[act-bolt] <^2> bolt
[gem-type] -tipped bolt
[act-crossbow] crossbow
@@ -213,8 +208,7 @@ pragma prefix-with [wands] [wand-type]
[staves] staff
-pragma prefix-with [staves] [staff-type]
-pragma prefix-with [staves] [tree]
+pragma prefix-with [staves] [staff-type] [tree]
pragma prefix-with [staves] [staff-length]
[staff-type] gnarled
@@ -223,6 +217,7 @@ pragma prefix-with [staves] [staff-length]
war
[staff-length] short
+ full
long
[accessories] charm
@@ -233,8 +228,7 @@ pragma prefix-with [staves] [staff-length]
[gems] [gem-type]
-pragma prefix-with [gems] [gem-size]
-pragma prefix-with [gems] [gem-quality]
+pragma prefix-with [gems] [gem-size] [gem-quality]
[gem-quality] chipped
flawed
@@ -258,5 +252,3 @@ pragma prefix-with [gems] [gem-quality]
book
[quote-count] ( [diablo-amount] count )
-
-pragma despace-rule [quote-count]
diff --git a/data/sample-grammars/diablo-ii/diabloiiperish.gram b/data/sample-grammars/diablo-ii/diabloiiperish.gram
index af6c9ec..9338b9c 100755
--- a/data/sample-grammars/diablo-ii/diabloiiperish.gram
+++ b/data/sample-grammars/diablo-ii/diabloiiperish.gram
@@ -39,10 +39,7 @@ pragma prefix-with [perishable-type] [bodypart]
medium
full
-[perishable-effect] [perishable-effect-1]
- [perishable-effect-1]
- [perishable-effect-1]
- [perishable-effect-1]
+[perishable-effect] <^4> [perishable-effect-1]
[perishable-degree] [perishable-effect-1]
[perishable-effect-1] [restore-effect]
diff --git a/data/sample-grammars/diablo-ii/diabloiiprefixes.gram b/data/sample-grammars/diablo-ii/diabloiiprefixes.gram
index 5157115..1a62829 100755
--- a/data/sample-grammars/diablo-ii/diabloiiprefixes.gram
+++ b/data/sample-grammars/diablo-ii/diabloiiprefixes.gram
@@ -1,15 +1,10 @@
-[d2-prefix] [d2-prefix-part]
- [d2-prefix-part]
- [d2-prefix-chain]
+[d2-prefix] <^4> [d2-prefix-part]
+ <^2> [d2-prefix-part] [d2-prefix-part]
+ <^2> [d2-prefix-part] and [d2-prefix-part]
+ [d2-prefix-part] [d2-prefix-part] [d2-prefix-part]
pragma export-rule [d2-prefix]
-[d2-prefix-chain] [d2-prefix-part] [d2-prefix-part]
- [d2-prefix-part] [d2-prefix-part]
- [d2-prefix-part] and [d2-prefix-part]
- [d2-prefix-part] and [d2-prefix-part]
- [d2-prefix-part] [d2-prefix-part] [d2-prefix-part]
-
[d2-prefix-part] [armor-class]
[saving-throw]
[foe-reaction]
diff --git a/data/sample-grammars/diablo-ii/diabloiisuffixes.gram b/data/sample-grammars/diablo-ii/diabloiisuffixes.gram
index f6deea0..7915f9d 100755
--- a/data/sample-grammars/diablo-ii/diabloiisuffixes.gram
+++ b/data/sample-grammars/diablo-ii/diabloiisuffixes.gram
@@ -1,11 +1,6 @@
-[d2-suffix] of [suffix-part]
- of [suffix-part]
- of [suffix-chain]
-
-[suffix-chain] [suffix-part] and [suffix-part]
- [suffix-part] and [suffix-part]
- [suffix-part] and of [suffix-part]
- [suffix-part] and of [suffix-part]
+[d2-suffix] <^4> of [suffix-part]
+ <^2> [suffix-part] and [suffix-part]
+ <^2> [suffix-part] and of [suffix-part]
[suffix-part] , [suffix-part] and [suffix-part]
pragma export-rule [d2-suffix]
diff --git a/data/sample-grammars/dungeondressing/bedroom.gram b/data/sample-grammars/dungeondressing/bedroom.gram
index 8bb9449..a6e4390 100755
--- a/data/sample-grammars/dungeondressing/bedroom.gram
+++ b/data/sample-grammars/dungeondressing/bedroom.gram
@@ -13,9 +13,7 @@ pragma initial-rule [bedroom]
deserted clearing
desert island
abandoned crypt
- [fantasy-location-name]
- [fantasy-location-name]
- [fantasy-location-name]
+ <^3> [fantasy-location-name]
[bedroom-bed] king bed with luxury sheets
messy pile of wet hay
@@ -26,8 +24,7 @@ pragma initial-rule [bedroom]
tropical rope hammock
altar
-pragma prefix-with [bedroom-bed] [bed-prefix]
-pragma prefix-with [bedroom-bed] [sacred-type]
+pragma prefix-with [bedroom-bed] [bed-prefix] [sacred-type]
[bed-prefix] ruined
ancient
@@ -46,21 +43,11 @@ pragma prefix-with [bedroom-bed] [sacred-type]
infernal
angelic
-[bedroom-person] [bed-bones]
- [bed-bones]
+[bedroom-person] <^2> [bed-bones]
jug of moonshine
- [bed-aliveperson]
- [bed-aliveperson]
- [bed-aliveperson]
- [bed-aliveperson]
- [bed-aliveperson]
- [bed-aliveperson]
- [bed-aliveperson]
- [bed-aliveperson]
- [bed-aliveperson]
- [bed-aliveperson]
-
-[bedroom-lying] lying [onin] it
+ <^8> [bed-aliveperson]
+
+[bedroom-lying] lying [on|in] it
draped atop it
prostrated before it
[tied] to it
@@ -84,17 +71,13 @@ pragma prefix-with [bed-aliveperson] [bed-name]
[bed-name] [full-name] , a(n)
[fantasy-name] , a(n)
-[bed-status] [bed-status1]
- [bed-status2]
- [bed-status1] [bed-status2]
- [bed-status2] [bed-status1]
+[bed-status] {empty}
+
+pragma prefix-with [bed-status] [bed-status1] [bed-status2]
[bed-status1] dead
decapitated
- [status-alive]
- [status-alive]
- [status-alive]
- [status-alive]
+ <^4> [status-alive]
[status-alive] unconcious
sleeping
@@ -119,13 +102,8 @@ pragma prefix-with [bed-aliveperson] [bed-name]
roped
shackled
-[onin] on
- in
-
-[bed-bones] [pile] of [bone-status] [bones]
- [pile] of [bone-status] [bones]
- [pile] of [bone-status] [part-human] [bones]
- [pile] of [bone-status] [part-human] [bones]
+[bed-bones] <^2> [pile] of [bone-status] [bones]
+ <^2> [pile] of [bone-status] [part-human] [bones]
[blood-puddle]
[pile] pair
@@ -187,11 +165,7 @@ pragma prefix-with [bed-arist] kidnapped
mannequin
puppet
-pragma prefix-with [bed-doll] [sex]
-pragma prefix-with [bed-doll] [realism]
-
-[sex] sex
- sexy
+pragma prefix-with [bed-doll] [sex|sexy] [realism]
[realism] realistic
unrealistic
@@ -224,20 +198,18 @@ pragma prefix-with [bed-slave] [part-human]
[bed-gender] male
female
-[part-human] [humanoids]
- [part-human2]
+[part-human] <^4> [humanoids]
+ <^2> [half-humans]
+ [quarter-humans]
pragma prefix-with [part-human] [bed-gender]
-[part-human2] [half-humans]
- [quarter-humans]
-
-[half-humans] [half-human]
+[half-humans] <^2> [half-human]
[half-human] , [half-human]
-[quarter-humans] [quarter-human]
- [quarter-human] , [half-human]
- [quarter-human] , [quarter-human]
+[quarter-humans] <^4> [quarter-human]
+ <^2> [quarter-human] , [half-human]
+ <^2> [quarter-human] , [quarter-human]
[quarter-human] , [quarter-human] , [quarter-human]
[quarter-human] , [quarter-human] , [quarter-human] , [quarter-human]
@@ -245,10 +217,7 @@ pragma prefix-with [part-human] [bed-gender]
[quarter-human] quarter- [humanoids]
-[humanoids] [humanoid]
- [humanoid]
- [humanoid]
- [humanoid]
+[humanoids] <^4> [humanoid]
[bed-inhuman]
pragma despace-rule [half-human]
diff --git a/data/sample-grammars/dungeondressing/monster.gram b/data/sample-grammars/dungeondressing/monster.gram
index 47e1417..d3a793e 100755
--- a/data/sample-grammars/dungeondressing/monster.gram
+++ b/data/sample-grammars/dungeondressing/monster.gram
@@ -1,12 +1,17 @@
-[monster] [monster-kind]
+[monster] <^2> [monster-kind]
[monster-prefix] [monster-kind]
pragma initial-rule [monster]
-[monster-prefix] were-
+[monster-prefix] [monster-prefix-tail]
+
+pragma prefix-with [monster-prefix] <&1..3> [monster-prefix-head]
+
+[monster-prefix-tail] were-
half-
quarter-
- vampire
+
+[monster-prefix-head] vampire
giant
diseased
magic
diff --git a/data/sample-grammars/eastern-sun/easternsunsocketing.gram b/data/sample-grammars/eastern-sun/easternsunsocketing.gram
index 3585220..5041177 100644
--- a/data/sample-grammars/eastern-sun/easternsunsocketing.gram
+++ b/data/sample-grammars/eastern-sun/easternsunsocketing.gram
@@ -1,5 +1,4 @@
-[es-socketable] [es-gem]
- [es-gem]
+[es-socketable] <^2> [es-gem]
[es-rune]
[gem-quality] chipped
@@ -9,7 +8,7 @@
extraordinary
perfect
-[es-gem] [gem-1
+[es-gem] [gem-1]
[gem-1]
[gem-2]
[gem-2]
diff --git a/data/sample-grammars/long-data/cards.gram b/data/sample-grammars/long-data/cards.gram
index 51a86d4..21ebc68 100755
--- a/data/sample-grammars/long-data/cards.gram
+++ b/data/sample-grammars/long-data/cards.gram
@@ -14,47 +14,21 @@ pragma export-rule [playing-card]
spades
diamonds
-[playing-rank] [rank-two]
- [rank-three]
- [rank-four]
- [rank-five]
- [rank-six]
- [rank-seven]
- [rank-eight]
- [rank-nine]
- [rank-ten]
+[playing-rank] <^8> [playing-rank-num]
jack
king
queen
ace
-[rank-two] 2
- deuce
- two
-
-[rank-three] 3
- three
-
-[rank-four] 4
- four
-
-[rank-five] 5
- five
-
-[rank-six] 6
- six
-
-[rank-seven] 7
- seven
-
-[rank-eight] 8
- eight
-
-[rank-nine] 9
- nine
-
-[rank-ten] 10
- ten
+[playing-rank-num] [2|deuce|two]
+ [3|three]
+ [4|four]
+ [5|five]
+ [6|six]
+ [7|seven]
+ [8|eight]
+ [9|nine]
+ [10|ten]
[tarot-card] [minor-arcana]
[major-arcana]
@@ -75,15 +49,7 @@ pragma export-rule [tarot-card]
pragma export-rule [major-arcana]
[minor-rank] ace
- [rank-two]
- [rank-three]
- [rank-four]
- [rank-five]
- [rank-six]
- [rank-seven]
- [rank-eight]
- [rank-nine]
- [rank-ten]
+ <^8> [playing-rank-num]
knave
page
jack
diff --git a/data/sample-grammars/long-data/letters.gram b/data/sample-grammars/long-data/letters.gram
index f561b99..8d66436 100755
--- a/data/sample-grammars/long-data/letters.gram
+++ b/data/sample-grammars/long-data/letters.gram
@@ -125,10 +125,6 @@ pragma export-rule [letter]
pragma export-rule [middle-initial]
-[vowel] a
- e
- i
- o
- u
+[vowel] [a|e|i|o|u]
pragma export-rule [vowel]
diff --git a/data/sample-grammars/long-data/nation.gram b/data/sample-grammars/long-data/nation.gram
index d15788d..14ef8e5 100755
--- a/data/sample-grammars/long-data/nation.gram
+++ b/data/sample-grammars/long-data/nation.gram
@@ -1,220 +1,220 @@
-[nation] afghanistan
- albania
- algeria
- american samoa
- andorra
- angola
- anguilla
- antarctica
- antigua
- argentina
- armenia
- aruba
- australia
- austria
- azerbaijan
- bahamas
- bahrain
- bangladesh
- barbados
- belarus
- belgium
- belize
- benin
- bermuda
- bhutan
- bolivia
- bosnia and herzegovina
- botswana
- brazil
- brunei
- bulgaria
- burkina faso
- burma
- burundi
- cambodia
- cameroon
- canada
- cape verde
- central african republic
- chad
- chile
- china
- colombia
- comoros
- congo
- cook islands
- costa rica
- cote d'ivoire
- croatia
- cuba
- cyprus
- czech republic
- denmark
- djibouti
- dominica
- dominican republic
- ecuador
- egypt
- el salvador
- equatorial guinea
- eritrea
- estonia
- ethiopia
- falkland islands
- fiji
- finland
- france
- french guiana
- french polynesia
- gabon
- the gambia
- georgia
- germany
- ghana
- gibraltar
- greece
- greenland
- grenada
- guadeloupe
- guam
- guatemala
- guinea
- guinea-bissau
- guyana
- haiti
- the holy see
- honduras
- hong kong
- hungary
- iceland
- india
- indonesia
- iran
- iraq
- ireland
- israel
- italy
- jamaica
- japan
- jordan
- kazakhstan
- kenya
- kiribati
- kuwait
- kyrgyzstan
- laos
- latvia
- lebanon
- lesotho
- liberia
- libya
- liechtenstein
- lithuania
- luxembourg
- macau
- macedonia
- madagascar
- malawi
- malaysia
- maldives
- mali
- malta
- marshall islands
- martinique
- mauritania
- mauritius
- mayotte
- mexico
- federated states of micronesia
- moldova
- monaco
- mongolia
- montserrat
- morocco
- mozambique
- namibia
- nauru
- nepal
- netherlands
- netherlands antilles
- new caledonia
- new zealand
- nicaragua
- niger
- nigeria
- north korea
- northern mariana islands
- norway
- oman
- pakistan
- palau
- panama
- papua new guinea
- paraguay
- peru
- philippines
- pitcairn islands
- poland
- portugal
- puerto rico
- qatar
- reunion
- romania
- russia
- rwanda
- saint kitts and nevis
- saint lucia
- saint pierre and miquelon
- saint vincent and the grenadines
- samoa
- san marino
- sao tome and principe
- saudi arabia
- senegal
- seychelles
- sierra leone
- singapore
- slovakia
- slovenia
- solomon islands
- somalia
- south africa
- south korea
- spain
- sri lanka
- sudan
- suriname
- swaziland
- sweden
- switzerland
- syria
- taiwan
- tajikistan
- tanzania
- thailand
- togo
- tonga
- trinidad and tobago
- tunisia
- turkey
- turkmenistan
- turks and caicos islands
- tuvalu
- uganda
- ukraine
- united arab emirates
- united kingdom
- united states
- uruguay
- uzbekistan
- vanuatu
- venezuela
- vietnam
- western sahara
- yemen
- zaire
- zambia
- zimbabwe
+[nation] Afghanistan
+ Albania
+ Algeria
+ American samoa
+ Andorra
+ Angola
+ Anguilla
+ Antarctica
+ Antigua
+ Argentina
+ Armenia
+ Aruba
+ Australia
+ Austria
+ Azerbaijan
+ Bahamas
+ Bahrain
+ Bangladesh
+ Barbados
+ Belarus
+ Belgium
+ Belize
+ Benin
+ Bermuda
+ Bhutan
+ Bolivia
+ Bosnia and Herzegovina
+ Botswana
+ Brazil
+ Brunei
+ Bulgaria
+ Burkina faso
+ Burma
+ Burundi
+ Cambodia
+ Cameroon
+ Canada
+ Cape verde
+ Central African Republic
+ Chad
+ Chile
+ China
+ Colombia
+ Comoros
+ Congo
+ Cook Islands
+ Costa Rica
+ Cote d'Ivoire
+ Croatia
+ Cuba
+ Cyprus
+ Czech Republic
+ Denmark
+ Djibouti
+ Dominica
+ Dominican Republic
+ Ecuador
+ Egypt
+ El Salvador
+ Equatorial Guinea
+ Eritrea
+ Estonia
+ Ethiopia
+ Falkland Islands
+ Fiji
+ Finland
+ France
+ French Guiana
+ French Polynesia
+ Gabon
+ The Gambia
+ Georgia
+ Germany
+ Ghana
+ Gibraltar
+ Greece
+ Greenland
+ Grenada
+ Guadeloupe
+ Guam
+ Guatemala
+ Guinea
+ Guinea-Bissau
+ Guyana
+ Haiti
+ The Holy See
+ Honduras
+ Hong Kong
+ Hungary
+ Iceland
+ India
+ Indonesia
+ Iran
+ Iraq
+ Ireland
+ Israel
+ Italy
+ Jamaica
+ Japan
+ Jordan
+ Kazakhstan
+ Kenya
+ Kiribati
+ Kuwait
+ Kyrgyzstan
+ Laos
+ Latvia
+ Lebanon
+ Lesotho
+ Liberia
+ Libya
+ Liechtenstein
+ Lithuania
+ Luxembourg
+ Macau
+ Macedonia
+ Madagascar
+ Malawi
+ Malaysia
+ Maldives
+ Mali
+ Malta
+ Marshall Islands
+ Martinique
+ Mauritania
+ Mauritius
+ Mayotte
+ Mexico
+ Federated States Of Micronesia
+ Moldova
+ Monaco
+ Mongolia
+ Montserrat
+ Morocco
+ Mozambique
+ Namibia
+ Nauru
+ Nepal
+ Netherlands
+ Netherlands Antilles
+ New Caledonia
+ New Zealand
+ Nicaragua
+ Niger
+ Nigeria
+ North Korea
+ Northern Mariana Islands
+ Norway
+ Oman
+ Pakistan
+ Palau
+ Panama
+ Papua New Guinea
+ Paraguay
+ Peru
+ Philippines
+ Pitcairn Islands
+ Poland
+ Portugal
+ Puerto Rico
+ Qatar
+ Reunion
+ Romania
+ Russia
+ Rwanda
+ Saint Kitts and Nevis
+ Saint Lucia
+ Saint Pierre and Miquelon
+ Saint Vincent and The Grenadines
+ Samoa
+ San Marino
+ Sao Tome and Principe
+ Saudi Arabia
+ Senegal
+ Seychelles
+ Sierra Leone
+ Singapore
+ Slovakia
+ Slovenia
+ Solomon Islands
+ Somalia
+ South Africa
+ South Korea
+ Spain
+ Sri Lanka
+ Sudan
+ Suriname
+ Swaziland
+ Sweden
+ Switzerland
+ Syria
+ Taiwan
+ Tajikistan
+ Tanzania
+ Thailand
+ Togo
+ Tonga
+ Trinidad and Tobago
+ Tunisia
+ Turkey
+ Turkmenistan
+ Turks and Caicos Islands
+ Tuvalu
+ Uganda
+ Ukraine
+ United Arab Emirates
+ United Kingdom
+ United States
+ Uruguay
+ Uzbekistan
+ Vanuatu
+ Venezuela
+ Vietnam
+ Western Sahara
+ Yemen
+ Zaire
+ Zambia
+ Zimbabwe
pragma initial-rule [nation]
diff --git a/data/sample-grammars/long-data/numbers.gram b/data/sample-grammars/long-data/numbers.gram
index 8525102..31bfc3c 100755
--- a/data/sample-grammars/long-data/numbers.gram
+++ b/data/sample-grammars/long-data/numbers.gram
@@ -1,4 +1,4 @@
-[binary-digit] 0
+[binary-digit] [0-1]
1
pragma export-rule [binary-digit]
@@ -15,26 +15,11 @@ pragma export-rule [binary-digit]
pragma export-rule [digit-noone]
-[digit-nonzero] 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+[digit-nonzero] [1..9]
pragma export-rule [digit-nonzero]
-[digit-twoup] 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+[digit-twoup] [2..9]
pragma export-rule [digit-twoup]
diff --git a/data/sample-grammars/long-data/planet.gram b/data/sample-grammars/long-data/planet.gram
index 1da1678..6149a61 100755
--- a/data/sample-grammars/long-data/planet.gram
+++ b/data/sample-grammars/long-data/planet.gram
@@ -1,4 +1,4 @@
-[planet] → Mercury
+[planet] Mercury
Venus
Mars
Jupiter
diff --git a/data/sample-grammars/long-data/real-city.gram b/data/sample-grammars/long-data/real-city.gram
index 7ca57b9..cea075d 100755
--- a/data/sample-grammars/long-data/real-city.gram
+++ b/data/sample-grammars/long-data/real-city.gram
@@ -1,78 +1,79 @@
-[real-city] → birmingham
- anchorage
- mesa
- phoenix
- tucson
- anaheim
- fresno
- long beach
- los angeles
- oakland
- riverside
- sacramento
- san diego
- san francisco
- san jose
- santa ana
- stockton
- aurora
- colorado springs
- denver
- washington
- jacksonville
- miami
- st. petersburg
- tampa
- atlanta
- honolulu
- chicago
- indianapolis
- wichita
- lexington
- louisville
- baton rouge
- new orleans
- baltimore
- boston
- detroit
- minneapolis
- st. paul
- kansas city
- st. louis
- omaha
- las vegas
- jersey city
- newark
- albuquerque
- buffalo
- new york
- rochester
- charlotte
- raleigh
- akron
- cincinnati
- cleveland
- columbus
- toledo
- oklahoma city
- tulsa
- portland
- philadelphia
- pittsburgh
- memphis
- nashville
- arlington
- austin
- corpus christi
- dallas
- el paso
- fort worth
- houston
- san antonio
- norfolk
- richmond
- virginia beach
- seattle
- milwaukee
+[real-city]
+ Birmingham
+ Anchorage
+ Mesa
+ Phoenix
+ Tucson
+ Anaheim
+ Fresno
+ Long Beach
+ Los Angeles
+ Oakland
+ Riverside
+ Sacramento
+ San diego
+ San Francisco
+ San Jose
+ Santa Ana
+ Stockton
+ Aurora
+ Colorado Springs
+ Denver
+ Washington
+ Jacksonville
+ Miami
+ St. Petersburg
+ Tampa
+ Atlanta
+ Honolulu
+ Chicago
+ Indianapolis
+ Wichita
+ Lexington
+ Louisville
+ Baton Rouge
+ New Orleans
+ Baltimore
+ Boston
+ Detroit
+ Minneapolis
+ St. Paul
+ Kansas City
+ St. Louis
+ Omaha
+ Las Vegas
+ Jersey City
+ Newark
+ Albuquerque
+ Buffalo
+ New York
+ Rochester
+ Charlotte
+ Raleigh
+ Akron
+ Cincinnati
+ Cleveland
+ Columbus
+ Toledo
+ Oklahoma City
+ Tulsa
+ Portland
+ Philadelphia
+ Pittsburgh
+ Memphis
+ Nashville
+ Arlington
+ Austin
+ Corpus Christi
+ Dallas
+ El Paso
+ Fort Worth
+ Houston
+ San Antonio
+ Norfolk
+ Richmond
+ Virginia Beach
+ Seattle
+ Milwaukee
pragma initial-rule [real-city]
diff --git a/data/sample-grammars/long-data/real-company.gram b/data/sample-grammars/long-data/real-company.gram
index f81ec14..079b945 100755
--- a/data/sample-grammars/long-data/real-company.gram
+++ b/data/sample-grammars/long-data/real-company.gram
@@ -1,209 +1,210 @@
-[real-company] 3com
- aflac
- at&t
- ace hardware
- aetna
- aid association for lutherans
- albertson's
- allstate
- alltel
- amerenue
- america online
- american express
- american general
- ames department stores
- anheuser-busch
- apple computer
- archer daniels midland
- autozone
- avis rent a car
- avon products
- b.f. goodrich
- bank of america corp.
- barnes & noble
- bell atlantic
- bellsouth
- berkshire hathaway
- best buy
- black & decker
- boeing
- bristol-myers squibb
- burlington northern santa fe
- cbs
- cvs
- cablevision systems
- campbell soup
- caterpillar
- cendant
- charles schwab
- chase manhattan corp.
- chevron
- cigna
- cinergy
- circuit city group
- cisco systems
- citigroup
- clorox
- coastal
- coca-cola
- colgate-palmolive
- columbia/hca healthcare
- comcast
- comerica
- compusa
- compaq computer
- computer associates intl.
- conagra
- conoco
- conseco
- continental airlines
- corning
- costco wholesale
- dana
- dell computer
- delta air lines
- dillard's
- dole food
- dollar general
- dow chemical
- eastman kodak
- eli lilly
- este lauder
- exxon mobil
- fannie mae
- farmland industries
- fedex
- firstar corp.
- fleetwood enterprises
- ford motor
- gte
- gannett
- gap
- gateway
- general electric
- general mills
- general motors
- gillette
- goldman sachs group
- goodyear tire & rubber
- h.j. heinz
- hartford financial services
- hasbro
- healthsouth
- hershey foods
- hewlett-packard
- home depot
- honeywell international
- hormel foods
- itt industries
- ikon office solutions
- ingersoll-rand
- intel
- ibm
- j.c. penney
- j.p. morgan & co.
- john hancock financial services
- johnson & johnson
- kellogg
- kimberly-clark
- kmart
- knight-ridder
- kroger
- lexmark international
- lockheed martin
- lowe's
- lucent technologies
- mci worldcom
- marriott international
- mattel
- maytag
- mcdonald's
- mcgraw-hill
- merck
- merrill lynch
- metropolitan life insurance
- micron technology
- microsoft
- monsanto
- morgan stanley dean witter
- motorola
- mutual of omaha insurance
- ncr
- nabisco group holdings
- new york life insurance
- new york times
- newell rubbermaid
- nextel communications
- nike
- nordstrom
- northwest airlines
- office depot
- officemax
- oracle
- owens corning
- paine webber group
- pepsico
- pfizer
- pharmacia & upjohn
- philip morris
- procter & gamble
- providian financial
- prudential ins. co. of america
- quaker oats
- qualcomm
- quantum
- qwest communications
- r. j. reynolds tobacco
- ralston purina
- raytheon
- rockwell international
- sbc communications
- safeway
- saks
- sara lee
- seagate technology
- sears roebuck
- servicemaster
- sherwin-williams
- shopko stores
- sodexho marriott services
- southwest airlines
- sprint
- staples
- state farm insurance cos.
- sun microsystems
- suntrust banks
- sunoco
- supervalu
- tandy
- target
- tenet healthcare
- texaco
- texas instruments
- time warner
- times mirror
- toys `r' us
- trans world airlines
- tyson foods
- u.s. bancorp
- us airways group
- us west
- ultramar diamond shamrock
- union carbide
- union pacific
- unisys
- united parcel service
- unitedhealth group
- universal
- viacom
- wal-mart stores
- walgreen
- walt disney
- warner-lambert
- wells fargo
- weyerhaeuser
- whirlpool
- winn-dixie stores
- xerox
+[real-company]
+ 3com
+ Aflac
+ At&T
+ Ace Hardware
+ Aetna
+ Aid Association For Lutherans
+ Albertson'S
+ Allstate
+ Alltel
+ Amerenue
+ America Online
+ American Express
+ American General
+ Ames Department Stores
+ Anheuser-Busch
+ Apple Computer
+ Archer Daniels Midland
+ Autozone
+ Avis Rent A Car
+ Avon Products
+ B.F. Goodrich
+ Bank Of America Corp.
+ Barnes & Noble
+ Bell Atlantic
+ Bellsouth
+ Berkshire Hathaway
+ Best Buy
+ Black & Decker
+ Boeing
+ Bristol-Myers Squibb
+ Burlington Northern Santa Fe
+ Cbs
+ Cvs
+ Cablevision Systems
+ Campbell Soup
+ Caterpillar
+ Cendant
+ Charles Schwab
+ Chase Manhattan Corp.
+ Chevron
+ Cigna
+ Cinergy
+ Circuit City Group
+ Cisco Systems
+ Citigroup
+ Clorox
+ Coastal
+ Coca-Cola
+ Colgate-Palmolive
+ Columbia/Hca Healthcare
+ Comcast
+ Comerica
+ Compusa
+ Compaq Computer
+ Computer Associates Intl.
+ Conagra
+ Conoco
+ Conseco
+ Continental Airlines
+ Corning
+ Costco Wholesale
+ Dana
+ Dell Computer
+ Delta Air Lines
+ Dillard'S
+ Dole Food
+ Dollar General
+ Dow Chemical
+ Eastman Kodak
+ Eli Lilly
+ Este Lauder
+ Exxon Mobil
+ Fannie Mae
+ Farmland Industries
+ Fedex
+ Firstar Corp.
+ Fleetwood Enterprises
+ Ford Motor
+ Gte
+ Gannett
+ Gap
+ Gateway
+ General Electric
+ General Mills
+ General Motors
+ Gillette
+ Goldman Sachs Group
+ Goodyear Tire & Rubber
+ H.J. Heinz
+ Hartford Financial Services
+ Hasbro
+ Healthsouth
+ Hershey Foods
+ Hewlett-Packard
+ Home Depot
+ Honeywell International
+ Hormel Foods
+ Itt Industries
+ Ikon Office Solutions
+ Ingersoll-Rand
+ Intel
+ Ibm
+ J.C. Penney
+ J.P. Morgan & Co.
+ John Hancock Financial Services
+ Johnson & Johnson
+ Kellogg
+ Kimberly-Clark
+ Kmart
+ Knight-Ridder
+ Kroger
+ Lexmark International
+ Lockheed Martin
+ Lowe'S
+ Lucent Technologies
+ Mci Worldcom
+ Marriott International
+ Mattel
+ Maytag
+ Mcdonald'S
+ Mcgraw-Hill
+ Merck
+ Merrill Lynch
+ Metropolitan Life Insurance
+ Micron Technology
+ Microsoft
+ Monsanto
+ Morgan Stanley Dean Witter
+ Motorola
+ Mutual Of Omaha Insurance
+ Ncr
+ Nabisco Group Holdings
+ New York Life Insurance
+ New York Times
+ Newell Rubbermaid
+ Nextel Communications
+ Nike
+ Nordstrom
+ Northwest Airlines
+ Office Depot
+ Officemax
+ Oracle
+ Owens Corning
+ Paine Webber Group
+ Pepsico
+ Pfizer
+ Pharmacia & Upjohn
+ Philip Morris
+ Procter & Gamble
+ Providian Financial
+ Prudential Ins. Co. Of America
+ Quaker Oats
+ Qualcomm
+ Quantum
+ Qwest Communications
+ R. J. Reynolds Tobacco
+ Ralston Purina
+ Raytheon
+ Rockwell International
+ Sbc Communications
+ Safeway
+ Saks
+ Sara Lee
+ Seagate Technology
+ Sears Roebuck
+ Servicemaster
+ Sherwin-Williams
+ Shopko Stores
+ Sodexho Marriott Services
+ Southwest Airlines
+ Sprint
+ Staples
+ State Farm Insurance Cos.
+ Sun Microsystems
+ Suntrust Banks
+ Sunoco
+ Supervalu
+ Tandy
+ Target
+ Tenet Healthcare
+ Texaco
+ Texas Instruments
+ Time Warner
+ Times Mirror
+ Toys `R' Us
+ Trans World Airlines
+ Tyson Foods
+ U.S. Bancorp
+ Us Airways Group
+ Us West
+ Ultramar Diamond Shamrock
+ Union Carbide
+ Union Pacific
+ Unisys
+ United Parcel Service
+ Unitedhealth Group
+ Universal
+ Viacom
+ Wal-Mart Stores
+ Walgreen
+ Walt Disney
+ Warner-Lambert
+ Wells Fargo
+ Weyerhaeuser
+ Whirlpool
+ Winn-Dixie Stores
+ Xerox
pragma initial-rule [real-company]
diff --git a/data/sample-grammars/long-data/relative.gram b/data/sample-grammars/long-data/relative.gram
index a18e015..d51a451 100755
--- a/data/sample-grammars/long-data/relative.gram
+++ b/data/sample-grammars/long-data/relative.gram
@@ -1,4 +1,4 @@
-[relative] → father
+[relative] father
mother
uncle
aunt
diff --git a/data/sample-grammars/long-data/roman-numeral.gram b/data/sample-grammars/long-data/roman-numeral.gram
index 886d44c..9715036 100755
--- a/data/sample-grammars/long-data/roman-numeral.gram
+++ b/data/sample-grammars/long-data/roman-numeral.gram
@@ -1,8 +1,8 @@
[roman-numeral-string] [roman-numeral-string+1]
-[roman-numeral-string+1] [roman-numeral]
- [roman-numeral]
- [roman-numeral] [roman-numeral-string]
+[roman-numeral-string+1] <^2> <&1..4> [roman-numeral]
+ <^4> <&5..10> [roman-numeral]
+ <&10..15> [roman-numeral]
pragma initial-rule [roman-numeral-string]
diff --git a/data/sample-grammars/long-data/town-name.gram b/data/sample-grammars/long-data/town-name.gram
index e176c7d..9a97fe4 100755
--- a/data/sample-grammars/long-data/town-name.gram
+++ b/data/sample-grammars/long-data/town-name.gram
@@ -1,143 +1,143 @@
-[town-name] → sullivan
- jakin
- geneva
- coleharbor
- cadiz
- dawson
- turon
- salem
- pax
- dakota
- moorefield
- zenda
- mettawa
- orchard
- busby
- cloudcroft
- perla
- burlington
- morrison
- blackburn
- jerico
- skykomish
- dupree
- dawson
- bowers
- star
- dorrance
- roberts
- carbon
- hopedale
- croghan
- elgin
- holland
- berkley
- sherrill
- varna
- owen
- oxford
- drake
- notus
- hobgood
- thacker
- springfield
- fraser
- avon
- audubon
- waterloo
- windsor
- atoka
- cherry
- hudson
- kechi
- pickstown
- elizabeth
- holt
- stapleton
- kell
- gardena
- osceola
- moscow
- morrison
- mustang
- maxwell
- francis
- eureka
- darlington
- ely
- bancroft
- hanover
- milano
- cabery
- byars
- gully
- sherwood
- reklaw
- watkins
- heartwell
- dawson
- vermont
- goldville
- paxson
- potwin
- sherman
- glenbeulah
- sunset
- clearwater
- solen
- altamont
- dyer
- murray
- rathbun
- huntleigh
- poulan
- burlington
- jackson
- verndale
- cleveland
- josephine
- leland
- carrollton
- vance
- sumner
- tira
- mead
- gumbranch
- glenwood
- harrison
- hannibal
- carthage
- callao
- bussey
- coaldale
- chugwater
- andale
- adell
- farber
- carlton
- prue
- tenney
- walcott
- udall
- brighton
- minburn
- swan
- frazer
- menlo
- bassett
- massena
- trommald
- waynesfield
- lynd
- mendon
- hammond
- simsboro
- thornton
- crary
- reynolds
- turton
- perry
- penasco
- loami
+[town-name] Sullivan
+ Jakin
+ Geneva
+ Coleharbor
+ Cadiz
+ Dawson
+ Turon
+ Salem
+ Pax
+ Dakota
+ Moorefield
+ Zenda
+ Mettawa
+ Orchard
+ Busby
+ Cloudcroft
+ Perla
+ Burlington
+ Morrison
+ Blackburn
+ Jerico
+ Skykomish
+ Dupree
+ Dawson
+ Bowers
+ Star
+ Dorrance
+ Roberts
+ Carbon
+ Hopedale
+ Croghan
+ Elgin
+ Holland
+ Berkley
+ Sherrill
+ Varna
+ Owen
+ Oxford
+ Drake
+ Notus
+ Hobgood
+ Thacker
+ Springfield
+ Fraser
+ Avon
+ Audubon
+ Waterloo
+ Windsor
+ Atoka
+ Cherry
+ Hudson
+ Kechi
+ Pickstown
+ Elizabeth
+ Holt
+ Stapleton
+ Kell
+ Gardena
+ Osceola
+ Moscow
+ Morrison
+ Mustang
+ Maxwell
+ Francis
+ Eureka
+ Darlington
+ Ely
+ Bancroft
+ Hanover
+ Milano
+ Cabery
+ Byars
+ Gully
+ Sherwood
+ Reklaw
+ Watkins
+ Heartwell
+ Dawson
+ Vermont
+ Goldville
+ Paxson
+ Potwin
+ Sherman
+ Glenbeulah
+ Sunset
+ Clearwater
+ Solen
+ Altamont
+ Dyer
+ Murray
+ Rathbun
+ Huntleigh
+ Poulan
+ Burlington
+ Jackson
+ Verndale
+ Cleveland
+ Josephine
+ Leland
+ Carrollton
+ Vance
+ Sumner
+ Tira
+ Mead
+ Gumbranch
+ Glenwood
+ Harrison
+ Hannibal
+ Carthage
+ Callao
+ Bussey
+ Coaldale
+ Chugwater
+ Andale
+ Adell
+ Farber
+ Carlton
+ Prue
+ Tenney
+ Walcott
+ Udall
+ Brighton
+ Minburn
+ Swan
+ Frazer
+ Menlo
+ Bassett
+ Massena
+ Trommald
+ Waynesfield
+ Lynd
+ Mendon
+ Hammond
+ Simsboro
+ Thornton
+ Crary
+ Reynolds
+ Turton
+ Perry
+ Penasco
+ Loami
pragma initial-rule [town-name]
diff --git a/data/sample-grammars/long-data/tree.gram b/data/sample-grammars/long-data/tree.gram
index 6fd0f0e..6293ada 100755
--- a/data/sample-grammars/long-data/tree.gram
+++ b/data/sample-grammars/long-data/tree.gram
@@ -1,4 +1,4 @@
-[tree] → pine
+[tree] pine
elm
maple
oak
diff --git a/data/sample-grammars/media.gram b/data/sample-grammars/media.gram
index f3a1c98..afb49c8 100755
--- a/data/sample-grammars/media.gram
+++ b/data/sample-grammars/media.gram
@@ -19,8 +19,8 @@ pragma initial-rule [media-company]
[radio+name2] [letter] [letter] [letter] [chan-type]
-[chan-type] -fm {chantype=fm}
- -am {chantype=am}
+[chan-type] -fm {$chantype=fm}
+ -am {$chantype=am}
[radio+chan] 9 [radio-9chan]
[$chantype-1chan]
diff --git a/data/sample-grammars/rtwiki/adjective.gram b/data/sample-grammars/rtwiki/adjective.gram
index 09168aa..487b0bf 100755
--- a/data/sample-grammars/rtwiki/adjective.gram
+++ b/data/sample-grammars/rtwiki/adjective.gram
@@ -22,6 +22,8 @@
leaping
prancing
+pragma export-rule [adjective1]
+
[adjective2] curious
happy
lusty
@@ -32,3 +34,5 @@
zealous
angry
vulgar
+
+pragma export-rule [adjective2]
diff --git a/data/sample-grammars/rtwiki/color.gram b/data/sample-grammars/rtwiki/color.gram
index 346f73b..b991452 100755
--- a/data/sample-grammars/rtwiki/color.gram
+++ b/data/sample-grammars/rtwiki/color.gram
@@ -1,15 +1,13 @@
-[color-phrases] [color-phrase]
- [multi-color-phrases]
-
-[multi-color-phrases] [color-phrase] blended with [color-phrase]
+[color-phrases] <^8> [color-phrase]
+ <^2> [color-phrase] blended with [color-phrase]
a blend between [color-phrase] , [color-phrase] and [color-phrase]
- something between [color-phrase] and [color-phrase]
+ <^2> something between [color-phrase] and [color-phrase]
something between [color-phrase] , [color-phrase] and [color-phrase]
pragma initial-rule [color-phrases]
-[color-phrase] [complete-color]
- [sw-complete-color]
+[color-phrase] <^2> [complete-color]
+ <^2> [sw-complete-color]
[sw-complete-color] [complete-color]
[sw-complete-color] - [complete-color]
[sw-complete-color] [sw-complete-color]
@@ -17,15 +15,14 @@ pragma initial-rule [color-phrases]
pragma export-rule [color-phrase]
-[sw-color-phrase] [sw-complete-color]
+[sw-color-phrase] <^2> [sw-complete-color]
[sw-complete-color] [sw-complete-color]
[sw-complete-color] - [sw-complete-color]
pragma export-rule [sw-color-phrase]
-[complete-color] {wtype=mw} [act-complete-color]
+[complete-color] {$wtype=mw} [act-complete-color]
-pragma despace-rule [complete-color]
pragma export-rule [complete-color]
[sw-complete-color] [act-sw-complete-color]
@@ -34,9 +31,7 @@ pragma export-rule [complete-color]
pragma despace-rule [sw-complete-color]
pragma export-rule [sw-complete-color]
-[act-sw-complete-color] {wtype=sw} [act-complete-color]
-
-pragma despace-rule [act-sw-complete-color]
+[act-sw-complete-color] {$wtype=sw} [act-complete-color]
[act-complete-color] [standard]
[red-purple]
@@ -46,6 +41,7 @@ pragma despace-rule [act-sw-complete-color]
[jewel]
[metallic]
[heraldic]
+ [other-color]
[other-color] [archaic-purple]
[archaic-green]
@@ -71,7 +67,7 @@ pragma despace-rule [act-sw-complete-color]
ivory
white
blue-gray
- [gray]
+ [gray|grey]
black
ebony
copper
@@ -83,35 +79,26 @@ pragma despace-rule [act-sw-complete-color]
[$wtype-standard]
transparent
-[gray] gray
- grey
-
[sw-standard] iridescent
opalescent
rainbow
-[mw-standard] [iridescent]
- [opalescent]
- [ombre]
- [rainbow]
+[mw-standard] [%iridescent|%opalescent|%ombre|%rainbow]
-[iridescent] iridescent [color]
+[iridescent] <^2> iridescent [color]
iridescent between [color] and [color]
[opalescent] opalescent [color]
[ombre] [color] (tinted [color] )
-[rainbow] rainbow of red, orange, yellow, green, blue, indigo and violet
- [custom-rainbow]
+[rainbow] <^2> rainbow of red, orange, yellow, green, blue, indigo and violet
[custom-rainbow] rainbow of [color]
pragma suffix-with [custom-rainbow] [com-color]
pragma suffix-with [custom-rainbow] [com-color]
-pragma suffix-with [custom-rainbow] [com-color]
-pragma suffix-with [custom-rainbow] [com-color]
-pragma suffix-with [custom-rainbow] [com-color]
+pragma suffix-with [custom-rainbow] <&1..3> [com-color]
pragma suffix-with [custom-rainbow] [and-color]
[com-color] , [color]
@@ -373,10 +360,9 @@ pragma suffix-with [custom-rainbow] [and-color]
sulphureous (bright yellow)
urobilin (urine-colored)
-[arcipluvian] (varies between [color] and [color] )
- (varies between [color] , [color] and [color] )
+[arcipluvian] <^4> (varies between [color] and [color] )
+ <^2> (varies between [color] , [color] and [color] )
(varies between [color] , [color] , [color] and [color] )
- (varies between [color] , [color] and [color] )
[archaic-green] [$wtype-archaic-green]
diff --git a/data/sample-grammars/rtwiki/death-cause.gram b/data/sample-grammars/rtwiki/death-cause.gram
index 74e58e8..3ad27ea 100755
--- a/data/sample-grammars/rtwiki/death-cause.gram
+++ b/data/sample-grammars/rtwiki/death-cause.gram
@@ -99,10 +99,10 @@
by crucifixion
by act of god
-[Monster/Animals] {{empty}}
+[Monster/Animals] {empty}
-[Character/Torture] {{empty}}
+[Character/Torture] {empty}
-[Character/Deaths] {{empty}}
+[Character/Deaths] {empty}
pragma export-rule [death-cause]
diff --git a/data/sample-grammars/rtwiki/fantasy-name.gram b/data/sample-grammars/rtwiki/fantasy-name.gram
index c4ce02e..ca3203f 100755
--- a/data/sample-grammars/rtwiki/fantasy-name.gram
+++ b/data/sample-grammars/rtwiki/fantasy-name.gram
@@ -1,10 +1,19 @@
-[fantasy-name] [fantasy+name]
+[fantasy-name] <^6> [fantasy+name]
+ <^2> <&2> [fantasy+name]
+ <&3> [fantasy+name]
pragma initial-rule [fantasy-name]
-[fantasy+name] [name-root1] [name-root2]
- [name-root1] [name-root3]
- [name-root1] [name-root2] [name-root3]
+[fantasy+name] [name-root1]
+
+pragma suffix-with [fantasy+name] <&1..2> [name-root2] [name-root3]
+pragma prefix-with [fantasy+name] [hname-root1]
+
+[hname-root1] <^3> {empty}
+ [name-root1] -
+
+[hname-root3] <^3> {empty}
+ - [name-root3]
[name-root1] ag
al
diff --git a/data/sample-grammars/rtwiki/favorite.gram b/data/sample-grammars/rtwiki/favorite.gram
index ba1468a..aa16f98 100755
--- a/data/sample-grammars/rtwiki/favorite.gram
+++ b/data/sample-grammars/rtwiki/favorite.gram
@@ -1,11 +1,7 @@
-[favorite-food] My favorite foods are [fruit] , [vegetable] and [meat]
+[favorite-food] My favorite foods are [apple|banana|cherry] , [vegetable] and [meat]
pragma initial-rule [favorite-food]
-[fruit] apple
- banana
- cherry
-
[vegetable] potato
okra
brussel sprouts
@@ -16,7 +12,7 @@ pragma initial-rule [favorite-food]
green beans
[meat] hamburgers
- hot dogs
+ hot dog
salmon
beef
chicken
diff --git a/data/sample-grammars/rtwiki/guns.gram b/data/sample-grammars/rtwiki/guns.gram
index aafab8c..ec370a2 100755
--- a/data/sample-grammars/rtwiki/guns.gram
+++ b/data/sample-grammars/rtwiki/guns.gram
@@ -5,21 +5,17 @@
[quote-guncorp] was bought by [quote-guncorp]
[quote-guncorp] 's [quote-gunname] vs. [quote-guncorp] 's [quote-gunname] : cost vs. quality
-[quote-gunname] [gun-name]
+[quote-gunname] ( [gun-name] )
-[quote-guncorp] [guncorp]
+[quote-guncorp] ( [guncorp] )
pragma initial-rule [gun-phrase]
-[gun-name] [1gun-name]
- [2gun-name2]
- [1gun-name]
- [2gun-name2]
- [1gun-name]
- [2gun-name2]
- [2gun-name1] [2gun-name2]
- [2gun-name1] [1gun-name]
- [1gun-name] [2gun-name2]
+[gun-name] <^4> [1gun-name]
+ <^4> [2gun-name2]
+ <^2> [2gun-name1] [2gun-name2]
+ <^2> [2gun-name1] [1gun-name]
+ <^2> [1gun-name] [2gun-name2]
[2gun-name1] [1gun-name] [2gun-name2]
pragma prefix-with [gun-name] [2gun-name1]
@@ -149,11 +145,9 @@ pragma export-rule [gun-name]
Poisoner
Remedy
-[guncorp] [guncorp-1]
- [guncorp-1] [guncorp-2]
- [guncorp-1] [guncorp-2]
- [guncorp-1] [guncorp-2]
- [guncorp-1] [guncorp-1] [guncorp-2]
+[guncorp] <^2> [guncorp-1]
+ <^3> [guncorp-1] [guncorp-2]
+ <&1..2> [guncorp-1] [guncorp-2]
[guncorp-1] - [guncorp-1] [guncorp-2]
[guncorp-1] and [guncorp-1] [guncorp-2]
[guncorp-1] / [guncorp-1] [guncorp-2]
diff --git a/data/sample-grammars/rtwiki/item.gram b/data/sample-grammars/rtwiki/item.gram
index fdee69c..47c5621 100755
--- a/data/sample-grammars/rtwiki/item.gram
+++ b/data/sample-grammars/rtwiki/item.gram
@@ -1,15 +1,14 @@
-[item] [act-item]
- [act-item]
+[item] <^2> [act-item]
[act-item] of the [act-item]
+pragma initial-rule [item]
+
[act-item] [body]
[music]
[symbol]
[thing]
[weapon]
-pragma initial-rule [item]
-
[body] arm
open eye
closed eye
diff --git a/data/sample-grammars/vaultsofnagoh/turboghoul-hats.gram b/data/sample-grammars/vaultsofnagoh/turboghoul-hats.gram
index 57eef10..b4a3861 100755
--- a/data/sample-grammars/vaultsofnagoh/turboghoul-hats.gram
+++ b/data/sample-grammars/vaultsofnagoh/turboghoul-hats.gram
@@ -28,20 +28,11 @@ pragma suffix-with [turboghoul-hat] [eyeholes]
hockey
tights
-[headscarf] [headscarf-type] headscarf
+[headscarf] [flowery|bedouin] headscarf
-[headscarf-type] flowery
- bedouin
+[hood] [liripided|monastic] hood
-[hood] [hood-type] hood
-
-[hood-type] liripided
- monastic
-
-[turban] [turban-type] turban
-
-[turban-type] elaborate
- simple
+[turban] [elaborate|simple] turban
[hat] [hat-type] hat
[hat-type] hat with bandana
@@ -50,8 +41,7 @@ pragma suffix-with [turboghoul-hat] [eyeholes]
fancy feathered
wizard's pointy
-[helmet] [helmet-type] helmet
- [helmet-type] helm
+[helmet] [helmet-type] [helm|helmet]
[helmet-type] monstrous skull
common
diff --git a/data/server-config-sample.cfg b/data/server-config-sample.cfg
index 417e055..7b4a6a3 100755
--- a/data/server-config-sample.cfg
+++ b/data/server-config-sample.cfg
@@ -94,6 +94,9 @@ ds-runes new-sample-grammars/drakensang/runes.gram
ds-gems new-sample-grammars/drakensang/gems.gram
ds-armor new-sample-grammars/drakensang/armor.gram
+# Perchance sample grammars
+meal new-sample-grammars/perchance/meal.gram
+
# Other grammar files
# Dungeon dressing