summaryrefslogtreecommitdiff
path: root/data/sample-grammars
diff options
context:
space:
mode:
Diffstat (limited to 'data/sample-grammars')
-rwxr-xr-xdata/sample-grammars/24hr-rpg.gram410
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/acronym.gram13
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/address.gram25
-rwxr-xr-xdata/sample-grammars/anime.gram23
-rwxr-xr-xdata/sample-grammars/art-objects.gram38
-rwxr-xr-xdata/sample-grammars/awe-names.gram10
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/buzzword.gram8
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/career.gram18
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/city.gram22
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/college.gram32
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/company.gram11
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/computer.gram6
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/congress.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/dates.gram0
-rwxr-xr-xdata/sample-grammars/diablo-ii/diabloii.gram37
-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-x[-rw-r--r--]data/sample-grammars/dungeondressing/abandoned.gram2
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/dungeondressing/bedroom.gram73
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/dungeondressing/dragonencounter.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/dungeondressing/kitchen.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/dungeondressing/monster.gram11
-rw-r--r--data/sample-grammars/eastern-sun/easternsunsocketing.gram5
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/elementals.gram46
-rwxr-xr-xdata/sample-grammars/fantasy-locations.gram42
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/fortune.gram0
-rw-r--r--data/sample-grammars/gemstones.gram48
-rwxr-xr-xdata/sample-grammars/genre-fiction.gram9
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/horror.gram54
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/insults.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/linux.gram101
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/animal.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/canada-province.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/cards.gram58
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/color.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/first-name-female.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/first-name-male.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/geographic-thing.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/last-name.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/letters.gram6
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/nation.gram436
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/numbers.gram19
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/planet.gram2
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/real-city.gram153
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/real-company.gram415
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/relative.gram2
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/roman-numeral.gram6
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/syllables.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/town-name.gram282
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/tree.gram2
-rwxr-xr-xdata/sample-grammars/martial-arts.gram68
-rwxr-xr-xdata/sample-grammars/mary-sue.gram20
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/media.gram17
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/mission.gram2
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/names.gram514
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/newspaper.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/numbers.gram14
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/ordinal.gram8
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/organization.gram9
-rwxr-xr-xdata/sample-grammars/part-creature.gram16
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/phone-number.gram14
-rwxr-xr-xdata/sample-grammars/pokeattacks.gram47
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/president.gram120
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/rtwiki/adjective.gram4
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/rtwiki/bodyparts.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/rtwiki/class.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/rtwiki/color.gram46
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/rtwiki/creature.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/rtwiki/death-cause.gram6
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/rtwiki/fantasy-name.gram17
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/rtwiki/favorite.gram8
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/rtwiki/guns.gram26
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/rtwiki/item.gram7
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/rtwiki/traits.gram0
-rwxr-xr-xdata/sample-grammars/rune.gram19
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/school.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/slashdot.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/states.gram100
-rwxr-xr-xdata/sample-grammars/superhero.gram62
-rwxr-xr-xdata/sample-grammars/tarotcard.gram10
-rwxr-xr-xdata/sample-grammars/technobabble.gram11
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/theory.gram9
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/trademark.gram4
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/vaultsofnagoh/turboghoul-hats.gram18
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/web.gram35
-rwxr-xr-xdata/sample-grammars/zadrons-pouch.gram4
88 files changed, 1718 insertions, 1995 deletions
diff --git a/data/sample-grammars/24hr-rpg.gram b/data/sample-grammars/24hr-rpg.gram
index e372256..484aa17 100755
--- a/data/sample-grammars/24hr-rpg.gram
+++ b/data/sample-grammars/24hr-rpg.gram
@@ -1,9 +1,11 @@
-[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] {@rpgparts:=[rpg-part]} [act-rpg-name]
+
+[act-rpg-name] [@rpgparts] and [@rpgparts]
+ [@rpgparts] / [@rpgparts]
+ [@rpgparts] the [@rpgparts]
+ [@rpgparts] : [@rpgparts] the [@rpgparts]
+ [@rpgparts] : [@rpgparts] [@rpgparts]
+ [@rpgparts] , [@rpgparts] and [@rpgparts]
[rpg-name-phrase] [quote-rpg-name] was just released
[quote-rpg-name] vs [quote-rpg-name] : which is better?
@@ -15,201 +17,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/acronym.gram b/data/sample-grammars/acronym.gram
index ed18cfc..1118732 100644..100755
--- a/data/sample-grammars/acronym.gram
+++ b/data/sample-grammars/acronym.gram
@@ -1,17 +1,16 @@
-[acronym] [acronym-part]
- [acronym-part]
- [acronym-part]
+[acronym] [acronym+1]
+
+[acronym+1] [acronym-phrase]
[acronym-part]
- [acronym-phrase]
pragma initial-rule [acronym]
-pragma despace-rule [acronym]
-
[acronym-phrase] [acronym-part] / [acronym-part]
[acronym-part] - [acronym-part]
-[acronym-part] [join-acronym]
+[acronym-part] [acronym+part]
+
+[acronym+part] [join-acronym]
[dot-acronym]
pragma export-rule [acronym-part]
diff --git a/data/sample-grammars/address.gram b/data/sample-grammars/address.gram
index 44475c4..3ccb738 100644..100755
--- a/data/sample-grammars/address.gram
+++ b/data/sample-grammars/address.gram
@@ -73,30 +73,23 @@ pragma suffix-with [street] [street-suffix]
s.
e.
w.
- [cardinal]
+ <^2> [cardinal]
-[street-suffix] street
- st.
- road
- rd.
+[street-suffix] [street||st.]
+ [road||rd.]
way
- boulevard
- blvd.
- avenue
- ave.
+ [boulevard||blvd.]
+ [avenue||ave.]
place
plaza
court
drive
- highway
- hwy.
- parkway
- pkwy.
+ [highway||hwy.]
+ [parkway||pkwy.]
pike
bypass
-[street-generic] main
- main
+[street-generic] <^2> main
high
independence
division
@@ -128,6 +121,6 @@ pragma suffix-with [street] [street-suffix]
[geographic-thing]
[street-generic-standalone] Broadway
- avenue of the Americas
+ Avenue of the Americas
Kingshighway
El Camino real
diff --git a/data/sample-grammars/anime.gram b/data/sample-grammars/anime.gram
index 85cc7db..887b687 100755
--- a/data/sample-grammars/anime.gram
+++ b/data/sample-grammars/anime.gram
@@ -1,22 +1,23 @@
-[anime-name] [short-anime-name]
- [short-anime-name]
+[anime-name] {@fname:=[first-name]} {@sname:=[second-name]} {@tname:=[third-name]} [act-anime-name]
+
+[act-anime-name] <^2> [short-anime-name]
[long-anime-name]
-[short-anime-name] [first-name]
- [second-name]
- [third-name]
+[short-anime-name] [@fname]
+ [@sname]
+ [@tname]
[long-anime-name] [short-anime-name]
pragma initial-rule [anime-name]
-pragma suffix-with [short-anime-name] [first-name]
-pragma suffix-with [short-anime-name] [second-name]
-pragma suffix-with [short-anime-name] [third-name]
+pragma suffix-with [short-anime-name] [@fname]
+pragma suffix-with [short-anime-name] [@sname]
+pragma suffix-with [short-anime-name] [@tname]
-pragma prefix-with [long-anime-name] [third-name]
-pragma prefix-with [long-anime-name] [second-name]
-pragma prefix-with [long-anime-name] [first-name]
+pragma prefix-with [long-anime-name] [@tname]
+pragma prefix-with [long-anime-name] [@sname]
+pragma prefix-with [long-anime-name] [@fname]
[first-name] Vampire
Cat
diff --git a/data/sample-grammars/art-objects.gram b/data/sample-grammars/art-objects.gram
index c824958..a9ed5af 100755
--- a/data/sample-grammars/art-objects.gram
+++ b/data/sample-grammars/art-objects.gram
@@ -1,24 +1,23 @@
-[art-treasure-group] [art-treasure]
- a choice between [art-treasure] and [art-treasure]
- a choice between [quote-treasure] , [quote-treasure] and [quote-treasure]
- [art-treasure] as well as [art-treasure]
- [quote-treasure] ; [quote-treasure] as well as [quote-treasure]
- [art-treasure] atop [art-treasure]
- [art-treasure] hidden under [art-treasure]
- [art-treasure] lying next to [art-treasure]
- [art-treasure] hiding in [art-treasure]
+[art-treasure-group] {@atreasure:=[art-treasure]} [act-art-treasure-group]
+
+[act-art-treasure-group] <^4> [@atreasure]
+ <^2> a choice between [@atreasure] and [@atreasure]
+ <^2> [@atreasure] as well as [@atreasure]
+ <^2> [@atreasure] atop [@atreasure]
+ <^2> [@atreasure] hidden under [@atreasure]
+ <^2> [@atreasure] lying next to [@atreasure]
+ <^2> [@atreasure] hiding in [@atreasure]
[quote-treasure] hidden among [quote-treasure] and [quote-treasure]
+ [quote-treasure] ; [quote-treasure] as well as [quote-treasure]
+ a choice between [quote-treasure] , [quote-treasure] and [quote-treasure]
pragma initial-rule [art-treasure-group]
-[quote-treasure] ( [art-treasure] )
+[quote-treasure] ( [@atreasure] )
pragma despace-rule [quote-treasure]
-[art-treasure] [unowned-art-treasure]
- [unowned-art-treasure]
- [unowned-art-treasure]
- [unowned-art-treasure]
+[art-treasure] <^4> [unowned-art-treasure]
[owned-art-treasure]
pragma export-rule [art-treasure]
@@ -34,8 +33,7 @@ pragma prefix-with [art-treasure] a(n)
[art-objects] [art-object]
pragma export-rule [art-objects]
-pragma prefix-with [art-objects] [art-object-pref]
-pragma prefix-with [art-objects] [size]
+pragma prefix-with [art-objects] [art-object-pref] [size]
[art-object-pref] counterfeit
ancient
@@ -53,6 +51,7 @@ pragma prefix-with [art-objects] [size]
[epic-art]
[mythic-art]
+pragma enable-descent [art-object] 2
pragma export-rule [art-object]
[size] tiny
@@ -74,7 +73,7 @@ pragma export-rule [art-object]
[statuette-mat] bone
ivory
-[common-goldring] gold ring
+[common-goldring] <^2> gold ring
gold ring with a [common-gem]
gold ring with [common-gem] inlay
gold ring with [common-gem] setting
@@ -83,16 +82,13 @@ pragma export-rule [art-object]
[necklace-mat] necklace
gold bracelet studded with [rare-gem]
gold necklace adorned with [common-gem]
- silver [tiaracrown] decorated with [common-gem]
+ silver [tiara||crown] decorated with [common-gem]
ivory comb with embedded [rare-gem]
gold vestments
[necklace-mat] gold
silver
-[tiaracrown] tiara
- crown
-
[uncommon-goldring] gold ring with [legendary-gem] inlay
gold ring with a [legendary-gem]
gold ring with [legendary-gem] setting
diff --git a/data/sample-grammars/awe-names.gram b/data/sample-grammars/awe-names.gram
index ea27ce1..d15e6b8 100755
--- a/data/sample-grammars/awe-names.gram
+++ b/data/sample-grammars/awe-names.gram
@@ -1,9 +1,9 @@
-[awesome-name] [part]
+[awesome-name] {@parts:=[part]} [act-awesome-name]
-pragma prefix-with [awesome-name] [part]
-pragma prefix-with [awesome-name] [part]
-pragma suffix-with [awesome-name] [part]
-pragma suffix-with [awesome-name] [part]
+[act-awesome-name] [@parts]
+
+pragma prefix-with [act-awesome-name] <&1..2> [@parts]
+pragma suffix-with [act-awesome-name] <&1..2> [@parts]
pragma initial-rule [awesome-name]
diff --git a/data/sample-grammars/buzzword.gram b/data/sample-grammars/buzzword.gram
index d25331f..3aaf2ad 100644..100755
--- a/data/sample-grammars/buzzword.gram
+++ b/data/sample-grammars/buzzword.gram
@@ -1,4 +1,4 @@
-[buzzword-phrase] [buzzwords]
+[buzzword-phrase] <^2> [buzzwords]
[buzzwords] to [buzzwords]
[buzzwords] while [buzzwords]
[buzzwords] in order to [buzzwords]
@@ -6,9 +6,9 @@
pragma initial-rule [buzzword-phrase]
-[buzzwords] [buzzword]
- [buzzword] [buzzword]
- [buzzword] and [buzzword]
+[buzzwords] <^4> [buzzword]
+ <^2> [buzzword] [buzzword]
+ <^2> [buzzword] and [buzzword]
[buzzword] , [buzzword] and [buzzword]
pragma export-rule [buzzwords]
diff --git a/data/sample-grammars/career.gram b/data/sample-grammars/career.gram
index 63142f5..3f527be 100644..100755
--- a/data/sample-grammars/career.gram
+++ b/data/sample-grammars/career.gram
@@ -4,9 +4,7 @@ pragma initial-rule [career-tech-desc]
pragma prefix-with [career-tech-desc] [career-tech-desc-pref]
-pragma suffix-with [career-tech-desc] [career-tech-descsuff]
-pragma suffix-with [career-tech-desc] [career-tech-descsuff]
-pragma suffix-with [career-tech-desc] [career-tech-descsuff]
+pragma suffix-with [career-tech-desc] <&1..2> [career-tech-descsuff]
[career-tech-desc-pref] [career-prefsuf] of the
@@ -22,13 +20,8 @@ pragma suffix-with [career-tech-desc] [career-tech-descsuff]
pragma export-rule [career-techname]
-[career-tech] [career-tech2]
- [career-tech2]
- [career-tech2]
- [career-tech2]
- [career-tech2]
- [career-tech2]
- [quote-career-tech] and [quote-career-tech]
+[career-tech] <^6> [career-tech2]
+ <^3> [quote-career-tech] and [quote-career-tech]
[quote-career-tech] , [quote-career-tech] and [quote-career-tech]
pragma prefix-with [career-tech] [career-tech-desc-pref]
@@ -39,7 +32,8 @@ pragma export-rule [career-tech]
pragma despace-rule [quote-career-tech]
-[career-tech2] [act-career-tech] (reports to the [career-tech] )
+[career-tech2] <^10> [act-career-tech]
+ [act-career-tech] (reports to the [career-tech] )
[act-career-tech] (reports to [full-name-and-title] )
[act-career-tech] paper pusher
@@ -87,7 +81,7 @@ pragma export-rule [act-career-tech]
publisher
publishing
-[career-prefsuf] [career-suffix]
+[career-prefsuf] <^2> [career-suffix]
[career-prefix] [career-suffix]
[career-sufsuf] , [career-prefsuf] of [career-department]
diff --git a/data/sample-grammars/city.gram b/data/sample-grammars/city.gram
index b344d3b..f4a765c 100644..100755
--- a/data/sample-grammars/city.gram
+++ b/data/sample-grammars/city.gram
@@ -31,17 +31,17 @@ pragma despace-rule [act-other-city]
[first-name]
[random-name]
-[town-prefix] [cardinal]
- new
- new
- old
- little
- fort
- lower
- upper
- san
- la
- van
+[town-prefix] <^2> [cardinal]
+ New
+ New
+ Old
+ Little
+ Fort
+ Lower
+ Upper
+ San
+ La
+ Van
[town-suffix] burg
ton
diff --git a/data/sample-grammars/college.gram b/data/sample-grammars/college.gram
index 33b45e3..65b7cb6 100644..100755
--- a/data/sample-grammars/college.gram
+++ b/data/sample-grammars/college.gram
@@ -15,13 +15,11 @@ pragma initial-rule [college-announcement]
[students] students
-pragma prefix-with [students] [course-level]
-pragma prefix-with [students] [course-adj]
+pragma prefix-with [students] [course-level] [course-adj]
[student] student
-pragma prefix-with [student] [course-level]
-pragma prefix-with [student] [course-adj]
+pragma prefix-with [student] [course-level] [course-adj]
[popularity] popularity
popularity among [students]
@@ -122,8 +120,7 @@ pragma suffix-with [course-level1] [class-year]
[course-event] as [course-explored] in [course-group] [course-medium]
[university-subject] as [course-explored] in [course-group] [course-medium]
[course-impactof]
- [course-static]
- [course-static]
+ <^2> [course-static]
[quote-buzzword] ( [course-buzzword2] )
@@ -133,24 +130,22 @@ pragma prefix-with [college-course] [course-prefix]
[course-colonending] : [course-ending]
-pragma suffix-with [college-course] [course-colonending]
-pragma suffix-with [college-course] [course-suffix]
+pragma suffix-with [college-course] [course-colonending] [course-suffix]
pragma export-rule [college-course]
-[course-adjnoun-group] [quote-adjnoun]
- [quote-adjnoun] and [quote-adjnoun]
+[course-adjnoun-group] <^4> [quote-adjnoun]
+ <^2> [quote-adjnoun] and [quote-adjnoun]
[quote-adjnoun] , [quote-adjnoun] and [quote-adjnoun]
-[course-disjoin-adjnoungroup] [quote-adjnoun] or [quote-adjnoun]
+[course-disjoin-adjnoungroup] <^2> [quote-adjnoun] or [quote-adjnoun]
[quote-adjnoun] , [quote-adjnoun] or [quote-adjnoun]
[quote-adjnoun] ( [course-adjnoun] )
[course-adjnoun] [course-prefixednoun]
-pragma prefix-with [course-adjnoun] [course-adj]
-pragma prefix-with [course-adjnoun] [course-adj]
+pragma prefix-with [course-adjnoun] [course-adj] [course-adj]
[condition] condition
experience
@@ -244,7 +239,7 @@ pragma prefix-with [course-adjnoun] [course-adj]
[experience] arts
experience
-[course-prefixednoun] [course-noun]
+[course-prefixednoun] <^2> [course-noun]
post- [course-noun]
pre- [course-noun]
@@ -386,10 +381,7 @@ pragma prefix-with [course-noun] [course-nounprefix]
[study] study
approach
-[course-group] [quote-groups]
- [quote-groups]
- [quote-groups]
- [quote-groups]
+[course-group] <^4> [quote-groups]
[quote-political]
[quote-political] " [org-political] "
@@ -495,8 +487,8 @@ pragma suffix-with [of-group] [course-adjnoun]
[course-life-influence] [course-event]
[course-adjnoun-group]
-[course-lives] [quote-life]
- [quote-life] and [quote-life]
+[course-lives] <^4> [quote-life]
+ <^2> [quote-life] and [quote-life]
[quote-life] , [quote-life] and [quote-life]
[quote-life] ( [course-life] )
diff --git a/data/sample-grammars/company.gram b/data/sample-grammars/company.gram
index 40ea83b..10befff 100644..100755
--- a/data/sample-grammars/company.gram
+++ b/data/sample-grammars/company.gram
@@ -43,15 +43,12 @@ pragma despace-rule [company-root-city]
pragma despace-rule [company-root-name]
-[letter+group] [letters]
- [letters] & [letters]
+[letter+group] <^4> [letters]
+ <^2> [letters] & [letters]
[letters] & [letters] & [letters]
-[letters] [letter]
- [letter]
- [letter]
- [letter] [letter]
- [letter] [letter]
+[letters] <^3> [letter]
+ <^2> [letter] [letter]
[letter] [letter] [letter]
pragma despace-rule [letters]
diff --git a/data/sample-grammars/computer.gram b/data/sample-grammars/computer.gram
index a3a7814..3a86e73 100644..100755
--- a/data/sample-grammars/computer.gram
+++ b/data/sample-grammars/computer.gram
@@ -29,8 +29,7 @@
apl
k
opencomal
- [esoteric-language]
- [esoteric-language]
+ <^2> [esoteric-language]
[esoteric-language] magenta
brainfuck
@@ -39,7 +38,6 @@
malbolge
pragma export-rule [computer-language]
-pragma export-rule [computer-skill]
[computer-skill] html
xml
@@ -51,3 +49,5 @@ pragma export-rule [computer-skill]
sql
asp
php
+
+pragma export-rule [computer-skill]
diff --git a/data/sample-grammars/congress.gram b/data/sample-grammars/congress.gram
index cffe469..cffe469 100644..100755
--- a/data/sample-grammars/congress.gram
+++ b/data/sample-grammars/congress.gram
diff --git a/data/sample-grammars/dates.gram b/data/sample-grammars/dates.gram
index 1ed0daa..1ed0daa 100644..100755
--- a/data/sample-grammars/dates.gram
+++ b/data/sample-grammars/dates.gram
diff --git a/data/sample-grammars/diablo-ii/diabloii.gram b/data/sample-grammars/diablo-ii/diabloii.gram
index df45482..2fcdf24 100755
--- a/data/sample-grammars/diablo-ii/diabloii.gram
+++ b/data/sample-grammars/diablo-ii/diabloii.gram
@@ -1,6 +1,6 @@
-[base-treasures] [base-treasure]
- [quote-treasure] as well as [quote-treasure]
- [quote-treasure] or [quote-treasure]
+[base-treasures] <^4> [base-treasure]
+ <^2> [quote-treasure] as well as [quote-treasure]
+ <^2> [quote-treasure] or [quote-treasure]
[quote-treasure] , and [quote-treasure] as well as [quote-treasure]
[quote-treasure] , [quote-treasure] or [quote-treasure]
@@ -10,29 +10,28 @@ pragma initial-rule [base-treasures]
pragma despace-rule [quote-treasure]
-[base-treasure] a [item]
- a [item]
- a [item]
+[base-treasure] <^3> a [item]
[non-item]
-[non-item] [money]
- [money]
- [money]
- [money]
+[non-item] <^4> [money]
nothing
[money] [diablo-amount] [money-type]
-[diablo-amount] 1
+[diablo-amount] 2
5
10
20
50
+ 50
100
200
500
1000
+# Try to advance with a two out of three chance, 10 attempts
+pragma enable-binomial [diablo-amount] 2 3 10
+
pragma export-rule [diablo-amount]
[money-type] coins
@@ -44,18 +43,14 @@ pragma prefix-with [money-type] [metal-type]
gold
platinum
-[item] [item-types]
- [item-types]
- [item-types]
- [item-types]
- [item-types] [d2-suffix]
- [item-types] [d2-suffix]
- [d2-prefix] [item-types]
- [d2-prefix] [item-types]
+pragma enable-descent [metal-type] 2
+
+[item] <^4> [item-types]
+ <^2> [item-types] [d2-suffix]
+ <^2> [d2-prefix] [item-types]
[d2-prefix] [item-types] [d2-suffix]
-[item-types] [d2-item-type]
- [d2-item-type]
+[item-types] <^2> [d2-item-type]
[ds-items]
[^item]
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/abandoned.gram b/data/sample-grammars/dungeondressing/abandoned.gram
index c9ed653..aecbee4 100644..100755
--- a/data/sample-grammars/dungeondressing/abandoned.gram
+++ b/data/sample-grammars/dungeondressing/abandoned.gram
@@ -1,4 +1,4 @@
-[abandoned] while exploring the abandoned [abandon-place] , a [abandon-person] sneaks up on you [abandon-motion] .
+[abandoned] while exploring the [{empty}||abandoned] [abandon-place] , a [abandon-person] sneaks up on you [abandon-motion] .
pragma initial-rule [abandoned]
diff --git a/data/sample-grammars/dungeondressing/bedroom.gram b/data/sample-grammars/dungeondressing/bedroom.gram
index 8bb9449..1f182c5 100644..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/dragonencounter.gram b/data/sample-grammars/dungeondressing/dragonencounter.gram
index 5c299c3..5c299c3 100644..100755
--- a/data/sample-grammars/dungeondressing/dragonencounter.gram
+++ b/data/sample-grammars/dungeondressing/dragonencounter.gram
diff --git a/data/sample-grammars/dungeondressing/kitchen.gram b/data/sample-grammars/dungeondressing/kitchen.gram
index 23abda4..23abda4 100644..100755
--- a/data/sample-grammars/dungeondressing/kitchen.gram
+++ b/data/sample-grammars/dungeondressing/kitchen.gram
diff --git a/data/sample-grammars/dungeondressing/monster.gram b/data/sample-grammars/dungeondressing/monster.gram
index 47e1417..d3a793e 100644..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/elementals.gram b/data/sample-grammars/elementals.gram
index 30d256f..511f0ec 100644..100755
--- a/data/sample-grammars/elementals.gram
+++ b/data/sample-grammars/elementals.gram
@@ -1,12 +1,9 @@
-[elemental] elemental
- elemental
- elemental
+[elemental] <^3> elemental
[other-elementalcreatures]
[rs-elementype]
pragma prefix-with [elemental] [elemental-types]
-pragma prefix-with [elemental] [elemental-age]
-pragma prefix-with [elemental] [great-less]
+pragma prefix-with [elemental] [elemental-age] [great-less]
pragma suffix-with [elemental] [sgreat-less]
pragma initial-rule [elemental]
@@ -57,22 +54,16 @@ pragma initial-rule [elemental]
primal
eldritch
-[elemental-types] [nhelemental-types]
- [nhelemental-types]
- [nhelemental-types]
- [nhelemental-types]
- [nhelemental-types]
- [nhelemental-types]
+[elemental-types] <^6> [nhelemental-types]
[hybrid-type]
-[nhelemental-types] [quote-type]
- [quote-type]
- [quote-type] / [quote-type]
+[nhelemental-types] <^4> [quote-type]
+ <^2> [quote-type] / [quote-type]
[quote-type] / [quote-type] / [nhelemental-types]
pragma export-rule [elemental-types]
-[hybrid-type] hybrid [hybrid-open] and [hybrid-close]
+[hybrid-type] <^2> hybrid [hybrid-open] and [hybrid-close]
hybrid [hybrid-open] , [nhelemental-types] and [hybrid-close]
[hybrid-open] ( [nhelemental-types]
@@ -87,20 +78,13 @@ pragma despace-rule [hybrid-close]
pragma despace-rule [quote-type]
-[elemental-type] [bare-elemental-type]
- [bare-elemental-type]
- [bare-elemental-type]
- [bare-elemental-type]
- [elemental-adv] [bare-elemental-type]
- [elemental-adv] [bare-elemental-type]
+[elemental-type] <^4> [bare-elemental-type]
+ <^2> [elemental-adv] [bare-elemental-type]
[elemental-adv] [elemental-adv] [bare-elemental-type]
-[bare-elemental-type] [common-element]
- [common-element]
- [runescape-elemental]
- [runescape-elemental]
- [paraquasi-elemental]
- [paraquasi-elemental]
+[bare-elemental-type] <^2> [common-element]
+ <^2> [runescape-elemental]
+ <^2> [paraquasi-elemental]
[other-elemental]
pragma export-rule [elemental-type]
@@ -205,12 +189,8 @@ pragma export-rule [elemental-adv]
blood
soul
-[paraquasi-elemental] [para-elemental]
- [para-elemental]
- [quasi-elemental]
- [quasi-elemental]
- [quasi-elemental]
- [quasi-elemental]
+[paraquasi-elemental] <^2> [para-elemental]
+ <^4> [quasi-elemental]
[paraquasi-elemental]
[para-elemental] ice
diff --git a/data/sample-grammars/fantasy-locations.gram b/data/sample-grammars/fantasy-locations.gram
index 1190d68..95e31a8 100755
--- a/data/sample-grammars/fantasy-locations.gram
+++ b/data/sample-grammars/fantasy-locations.gram
@@ -1,7 +1,8 @@
-[fantasy-location-name] [name2]
+[fantasy-location-name] {@oname=[name1]} [act-fantasy-location-name]
-pragma prefix-with [fantasy-location-name] [name1]
-pragma prefix-with [fantasy-location-name] [name1]
+[act-fantasy-location-name] [name2]
+
+pragma prefix-with [act-fantasy-location-name] <&1..2> [@oname]
pragma initial-rule [fantasy-location-name]
@@ -27,11 +28,11 @@ pragma initial-rule [fantasy-location-name]
drowsy
dry
dusty
- [black-color]
+ [ebon||ebony]
emerald
fleet
fire
- [gold-color]
+ [gold||golden]
good
grace
grand
@@ -46,7 +47,7 @@ pragma initial-rule [fantasy-location-name]
holy
honey
hot
- [ice-type]
+ [ice||icy]
iron
ivory
lilac
@@ -55,16 +56,16 @@ pragma initial-rule [fantasy-location-name]
maple
mighty
night
- [oak-type]
+ [oak||oaken]
onyx
peaceful
pearl
prancing
quartz
queens
- [rain-type]
+ [rain||rainy]
red
- [rose-type]
+ [rose||rosy]
royal
ruby
sable
@@ -76,7 +77,7 @@ pragma initial-rule [fantasy-location-name]
shale
shining
short
- [silk-type]
+ [silk||silken]
silver
sleeping
small
@@ -207,24 +208,3 @@ pragma initial-rule [fantasy-location-name]
way
wolf
wood
-
-[silk-type] silk
- silken
-
-[rose-type] rose
- rosy
-
-[rain-type] rain
- rainy
-
-[oak-type] oak
- oaken
-
-[ice-type] ice
- icy
-
-[black-color] ebon
- ebony
-
-[gold-color] gold
- golden
diff --git a/data/sample-grammars/fortune.gram b/data/sample-grammars/fortune.gram
index 8bfce32..8bfce32 100644..100755
--- a/data/sample-grammars/fortune.gram
+++ b/data/sample-grammars/fortune.gram
diff --git a/data/sample-grammars/gemstones.gram b/data/sample-grammars/gemstones.gram
index 8f8a579..25fedf5 100644
--- a/data/sample-grammars/gemstones.gram
+++ b/data/sample-grammars/gemstones.gram
@@ -1,19 +1,18 @@
-[gemstones] [gemstone]
- [gemstone]
- [gemstone]
+[gemstones] [act-gemstones]
+
+[act-gemstones] <^3> [gemstone]
[gemstone-group]
[gemstone-group] pair of [gemstone]
- [gemstone-sizedesc] pile of [gemstone]
- [gemstone-sizedesc] hoard of [gemstone]
+ pile of [gemstone]
+ hoard of [gemstone]
+
+pragma prefix-with [gemstone-group] [gemstone-sizedesc]
pragma initial-rule [gemstones]
pragma suffix-with [gemstones] jewels
-[gemstone] [gemstone-1]
- [gemstone-1]
- [gemstone-1]
- [gemstone-1]
+[gemstone] <^4> [gemstone-1]
[ds-gem]
[gemstone-1] [common-gem]
@@ -21,14 +20,12 @@ pragma suffix-with [gemstones] jewels
[legendary-gem]
[epic-gem]
+pragma enable-descent [gemstone-1] 2
pragma export-rule [gemstone]
-[gemstone-sizedesc] [size]
- [gemstone-desc]
- [size] [gemstone-desc]
- [gemstone-desc] [size]
+[gemstone-sizedesc] {empty}
-pragma prefix-with [gemstone] [gemstone-sizedesc]
+pragma prefix-with [gemstone-sizedesc] [size] [gemstone-desc]
[size] tiny
miniscule
@@ -70,25 +67,17 @@ pragma export-rule [common-gem]
[quote-commongem] and [quote-commongem] fused together
[quote-legendarygem] of poor [extra-deficit]
-[extra-deficit] [extra-qualities]
- [extra-qualities]
- [extra-qualities]
- [extra-qualities]
+[extra-deficit] <^4> [extra-qualities]
[extra-qualities] but excellent [extra-qualities]
-[extra-quality] [extra-qualities]
- [extra-qualities]
- [extra-qualities]
- [extra-qualities]
+[extra-quality] <^4> [extra-qualities]
[extra-qualities] but poor [extra-qualities]
-[extra-qualities] [extra-quality-part]
- [extra-quality-part]
- [extra-quality-part]
+[extra-qualities] <^3> [extra-quality-part]
[extra-quality-phrase]
-[extra-quality-phrase] [extra-quality-part] and [extra-quality-part]
- [extra-quality-part] and [extra-quality-part]
+[extra-quality-phrase] <^2> [extra-quality-part] and [extra-quality-part]
+ <^2> [extra-quality-part] and [extra-quality-part]
[extra-quality-part] , [extra-quality-part] and [extra-quality-part]
[extra-quality-part] size
@@ -119,10 +108,7 @@ pragma export-rule [rare-gem]
pragma despace-rule [quote-raregem]
pragma export-rule [legendary-gem]
-[epic-gem] [epic-gem-1]
- [epic-gem-1]
- [epic-gem-1]
- [epic-gem-1]
+[epic-gem] <^4> [epic-gem-1]
[ds-gem]
[epic-gem-1] diamond
diff --git a/data/sample-grammars/genre-fiction.gram b/data/sample-grammars/genre-fiction.gram
index 92437d7..997b2af 100755
--- a/data/sample-grammars/genre-fiction.gram
+++ b/data/sample-grammars/genre-fiction.gram
@@ -1,9 +1,6 @@
[genre-fict] in a [setting] a young [person] stumbles across a(n) [place] [genre-fict2]
-# Uncomment me when we're done testing, because this rule takes a while to
-# generate
pragma initial-rule [genre-fict]
-pragma export-rule [genre-fict]
[genre-fict2] which spurs him into conflict with [antagonist] [genre-fict3]
@@ -91,9 +88,9 @@ pragma export-rule [genre-fict]
humanity’s selfish nature
his own insecurity vis-a-vis girls
-[female] [female]
- [female] [fem-suffix]
- [fem-prefix] [female]
+[female] <^4> [female]
+ <^2> [female] [fem-suffix]
+ <^2> [fem-prefix] [female]
[fem-prefix] [female] [fem-suffix]
[fem-prefix] sarcastic
diff --git a/data/sample-grammars/horror.gram b/data/sample-grammars/horror.gram
index 07d84de..d95b468 100644..100755
--- a/data/sample-grammars/horror.gram
+++ b/data/sample-grammars/horror.gram
@@ -2,32 +2,32 @@
pragma initial-rule [horror-movie]
-[first] attack of the
- invasion of the
- day of the
- beware! The
- terror of the
- death by
- curse of the
- earth vs. the
- return of the
+[first] Attack of the
+ Invasion of the
+ Day of the
+ Beware! The
+ Terror of the
+ Death by
+ Curse of the
+ Earth vs. the
+ Return of the
-[second] disco
- massive
- worrying
- flying
- flesh eating
- windy
- mutant
- hairy
- overly keen
+[second] Disco
+ Massive
+ Worrying
+ Flying
+ Flesh eating
+ Windy
+ Mutant
+ Hairy
+ Overly keen
-[third] vampires
- swamp beasts
- boy bands
- muffins
- werewolves
- zombies
- sock puppets
- death bots
- snuggle badgers
+[third] Vampires
+ Swamp Beasts
+ Boy Bands
+ Muffins
+ Werewolves
+ Zombies
+ Sock Puppets
+ Death Bots
+ Snuggle Badgers
diff --git a/data/sample-grammars/insults.gram b/data/sample-grammars/insults.gram
index 98a7a8e..98a7a8e 100644..100755
--- a/data/sample-grammars/insults.gram
+++ b/data/sample-grammars/insults.gram
diff --git a/data/sample-grammars/linux.gram b/data/sample-grammars/linux.gram
index ad18d65..7c6ca85 100644..100755
--- a/data/sample-grammars/linux.gram
+++ b/data/sample-grammars/linux.gram
@@ -4,11 +4,8 @@ pragma initial-rule [linux-domain]
[actual+linux-domain] [linux-domainname] . [big-tld]
-[linux-domainname] [linux-domain1] [linux-domain2]
- [linux-domain1] [linux-domain2]
- [linux-domain1] [linux-domain2]
- [linux-domain1] [linux-domain1]
- [linux-domain1] [linux-domain1]
+[linux-domainname] <^3> [linux-domain1] [linux-domain2]
+ <^2> [linux-domain1] [linux-domain1]
[linux-domain1] [linux-domain1] [linux-domain2]
[linux-domain1] [linux-domain1] - [linux-domain2]
[linux-domain1] - [linux-domain2]
@@ -583,8 +580,7 @@ pragma export-rule [geek-scifi-book]
[monitor] monitor
-pragma prefix-with [monitor] [monitor-resolution]
-pragma prefix-with [monitor] [monitor-type]
+pragma prefix-with [monitor] [monitor-resolution] [monitor-type]
[monitor-resolution] 4k
1080p
@@ -604,7 +600,7 @@ pragma prefix-with [monitor] [monitor-type]
[peripheral-interface] scsi
ide
parallel
- [usb]
+ <^3> [usb]
firewire 400
firewire 800
serial
@@ -663,11 +659,7 @@ pragma export-rule [peripheral]
pragma export-rule [freshmeat-url]
-[freshmeat+url] http://freshmeat.net/news/ [digit] / [digit] / [freshmeat-group1] / [freshmeat-group2] .html
-
-[freshmeat-group1] [digit] [digit] [digit] [digit]
-
-[freshmeat-group2] [digit] [digit] [digit] [digit] [digit] [digit] [digit] [digit] [digit]
+[freshmeat+url] http://freshmeat.net/news/ [0..9] / [0..9] / <&4> [0..9] / <&9> [0..9] .html
[freshmeat-desc] [app-type] [app-suffix]
[app-type] [app-suffix] for [freshmeat-for]
@@ -709,61 +701,58 @@ pragma export-rule [freshmeat-desc]
[freshmeat-app] [app-name] [app-version]
-[app-name] [app-name-simple]
- [app-name-simple]
- [app-name-simple]
+[app-name] <^3> [app-name-simple]
[app-name-complex]
pragma export-rule [app-name]
[app-name-simple] [app-name+simple]
-[app-name+simple] [acronym]
- [acronym]
- [acronym]
- [app-prefix] [acronym]
- [app-prefix] [syllable] [letter]
- [app-prefix] [syllable] 2 [syllable]
- [acronym]
+[app-name+simple] <^3> [acronym]
+ <^3> [letter-syll]
+ [syllable] 2 [syllable]
[letter] [acronym]
[random-name]
[last-name]
[syllable] [syllable]
- [letter] [syllable]
- [letter] [letter] [letter]
- [letter] [letter] [letter] [letter]
- [letter] [letter] [letter] [letter]
- [letter] [letter] [letter] [letter]
- [letter] [letter] [letter] [number-word]
- [app-prefix] [acronym]
- [app-prefix] [random-name]
- [app-prefix] [letter] [letter] [letter] [letter]
+ <&3> [letter]
+ <^4> <&4> [letter]
+ <&3> [letter] [number-word]
+ [random-name]
[app-common]
-[app-name-complex] [plural+first] [app-type] [app-suffix]
- [plural+first] [app-suffix]
+[letter-syll] {empty}
+
+pragma prefix-with [letter-syll] [syllable] [letter]
+
+pragma prefix-with [app-name+simple] [app-prefix]
+
+[app-name-complex] [plural+first] [app-type]
+ [plural+first]
+ <^2> [acronym] [app-type]
[acronym] [app-type]
- [acronym] [app-type] [app-suffix]
- [app-type] [app-suffix]
- [2+syllable] [app-type] [app-suffix]
- [random-name] [app-suffix]
- [app-prefix+letter] [app-suffix]
- [app-prefix+syllable] [app-type] [app-suffix]
- [app-common] [app-type] [app-suffix]
+ [app-type]
+ [2+syllable] [app-type]
+ [random-name]
+ [app-prefix+letter]
+ [app-prefix+syllable] [app-type]
+ [app-common] [app-type]
[tech-company] [peripheral] [device-type]
- [buzzword-adjective] [app-suffix]
+ [buzzword-adjective]
[plural+first] [buzzword-adjective] [buzzword-noun] [buzzword-job]
[acronym] [buzzword-noun]
- [app-prefix+name] [buzzword-adjective] [buzzword-job] [app-suffix]
+ [app-prefix+name] [buzzword-adjective] [buzzword-job]
[random-name] [buzzword-job]
- [buzzword-adjective] [buzzword-noun] [app-suffix]
+ [buzzword-adjective] [buzzword-noun]
[linux-distro]
+pragma suffix-with [app-name-complex] [app-suffix]
+
[device-type] 'WRITE ME'
[app-prefix+name] [app-prefix] [random-name]
-[app-prefix+letter] [app-prefix] [letter] [letter] [letter] [letter]
+[app-prefix+letter] [app-prefix] <&4> [letter]
[app-prefix+syllable] [app-prefix] [syllable] [syllable]
@@ -885,14 +874,14 @@ pragma export-rule [app-name]
[app-version] [app+version]
[app+version] 0.0. [1..20] [version-suffix]
- 0. [digit-nonzero] . [0..30]
+ 0. [1..9] . [0..30]
1.0. [0..30]
- 1. [digit-nonzero] . [0..30] [version-suffix]
- 2. [digit] . [0..30]
- 2. [digit] . [0..30] [version-suffix]
- [3..9] . [digit] . [0..30]
- 0.0 [digit] [version-suffix]
- 0. [digit]
+ 1. [1..9] . [0..30] [version-suffix]
+ 2. [0..9] . [0..30]
+ 2. [0..9] . [0..30] [version-suffix]
+ [3..9] . [0..9] . [0..30]
+ 0.0 [0..9] [version-suffix]
+ 0. [0..9]
0. [1..99]
1.0 [version-suffix]
1.00
@@ -900,13 +889,13 @@ pragma export-rule [app-name]
1. [1..99] [version-suffix]
[2..20] . [1..99] [version-suffix]
-[version-suffix] pl [digit]
+[version-suffix] pl [0..9]
alpha
beta
- [1..30]
[letter]
- -ac [digit]
- -pre [digit]
+ -ac [0..9]
+ -pre [0..9]
[linux-kernel-version] [linux-kernel+version]
@@ -914,7 +903,7 @@ pragma export-rule [app-name]
2.3. [50..99]
2.4.0-pre [1..30]
2.4.0-ac [1..30]
- 2.4. [digit]
+ 2.4. [0..9]
2.5. [0..99]
[2..4] . [6..9] . [0..99]
diff --git a/data/sample-grammars/long-data/animal.gram b/data/sample-grammars/long-data/animal.gram
index 8ce3b9d..8ce3b9d 100644..100755
--- a/data/sample-grammars/long-data/animal.gram
+++ b/data/sample-grammars/long-data/animal.gram
diff --git a/data/sample-grammars/long-data/canada-province.gram b/data/sample-grammars/long-data/canada-province.gram
index 8210d42..8210d42 100644..100755
--- a/data/sample-grammars/long-data/canada-province.gram
+++ b/data/sample-grammars/long-data/canada-province.gram
diff --git a/data/sample-grammars/long-data/cards.gram b/data/sample-grammars/long-data/cards.gram
index 51a86d4..1888be5 100644..100755
--- a/data/sample-grammars/long-data/cards.gram
+++ b/data/sample-grammars/long-data/cards.gram
@@ -2,6 +2,7 @@
[tarot-card]
[complete-many-things]
[harrowed-many-things]
+ [alt-tarot-card]
pragma initial-rule [card]
@@ -14,47 +15,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]
@@ -73,17 +48,10 @@ pragma export-rule [tarot-card]
[major-arcana2]
pragma export-rule [major-arcana]
+pragma export-rule [minor-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/color.gram b/data/sample-grammars/long-data/color.gram
index c71d04d..c71d04d 100644..100755
--- a/data/sample-grammars/long-data/color.gram
+++ b/data/sample-grammars/long-data/color.gram
diff --git a/data/sample-grammars/long-data/first-name-female.gram b/data/sample-grammars/long-data/first-name-female.gram
index 0bdfc8b..0bdfc8b 100644..100755
--- a/data/sample-grammars/long-data/first-name-female.gram
+++ b/data/sample-grammars/long-data/first-name-female.gram
diff --git a/data/sample-grammars/long-data/first-name-male.gram b/data/sample-grammars/long-data/first-name-male.gram
index 5642f9a..5642f9a 100644..100755
--- a/data/sample-grammars/long-data/first-name-male.gram
+++ b/data/sample-grammars/long-data/first-name-male.gram
diff --git a/data/sample-grammars/long-data/geographic-thing.gram b/data/sample-grammars/long-data/geographic-thing.gram
index 178bd7f..178bd7f 100644..100755
--- a/data/sample-grammars/long-data/geographic-thing.gram
+++ b/data/sample-grammars/long-data/geographic-thing.gram
diff --git a/data/sample-grammars/long-data/last-name.gram b/data/sample-grammars/long-data/last-name.gram
index b99a40c..b99a40c 100644..100755
--- a/data/sample-grammars/long-data/last-name.gram
+++ b/data/sample-grammars/long-data/last-name.gram
diff --git a/data/sample-grammars/long-data/letters.gram b/data/sample-grammars/long-data/letters.gram
index f561b99..3c1440a 100644..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 100644..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..f2aa0d4 100644..100755
--- a/data/sample-grammars/long-data/numbers.gram
+++ b/data/sample-grammars/long-data/numbers.gram
@@ -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 100644..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 100644..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 100644..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 100644..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 100644..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/syllables.gram b/data/sample-grammars/long-data/syllables.gram
index 925c2aa..925c2aa 100644..100755
--- a/data/sample-grammars/long-data/syllables.gram
+++ b/data/sample-grammars/long-data/syllables.gram
diff --git a/data/sample-grammars/long-data/town-name.gram b/data/sample-grammars/long-data/town-name.gram
index e176c7d..9a97fe4 100644..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 100644..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/martial-arts.gram b/data/sample-grammars/martial-arts.gram
index 2f9f557..7907e02 100755
--- a/data/sample-grammars/martial-arts.gram
+++ b/data/sample-grammars/martial-arts.gram
@@ -1,39 +1,39 @@
-[martial-arts-name] → [art-1] [art-2]
- [art-1] [art-3]
- [art-2] [art-3]
- [art-1] [art-2] [art-3]
+[martial-arts-name] [art-1] [art-2]
+ [art-1] [art-3]
+ [art-2] [art-3]
+ [art-1] [art-2] [art-3]
pragma initial-rule [martial-arts-name]
-[art-1] → running
- hungry
- angry
- naked
- drunken
- fortunate
- lazy
- swift
- powerful
- enlightened
+[art-1] running
+ hungry
+ angry
+ naked
+ drunken
+ fortunate
+ lazy
+ swift
+ powerful
+ enlightened
-[art-2] → ox
- tiger
- dragon
- crane
- monkey
- turtle
- manticore
- serpent
- hummingbird
- demon
+[art-2] ox
+ tiger
+ dragon
+ crane
+ monkey
+ turtle
+ manticore
+ serpent
+ hummingbird
+ demon
-[art-3] → fist
- stance
- spinning kick
- attack
- technique
- style
- dance
- movement
- touch
- fu
+[art-3] fist
+ stance
+ spinning kick
+ attack
+ technique
+ style
+ dance
+ movement
+ touch
+ fu
diff --git a/data/sample-grammars/mary-sue.gram b/data/sample-grammars/mary-sue.gram
index cb39264..f97ce40 100755
--- a/data/sample-grammars/mary-sue.gram
+++ b/data/sample-grammars/mary-sue.gram
@@ -1,5 +1,5 @@
-[mary-sue] she appears to be a normal [normal-desc] . [mary-sue2]
- she appears to be a normal [normal-desc] [opt-dress] [mary-sue2]
+[mary-sue] She appears to be a normal [normal-desc] . [mary-sue2]
+ She appears to be a normal [normal-desc] [opt-dress] [mary-sue2]
[mary-sue2] She is [desc] and she will fight her enemies with her power to [power-desc] [mary-sue3]
@@ -177,7 +177,7 @@ pragma initial-rule [mary-sue]
cursed by god
traveling through time
-[power-desc] [power-1]
+[power-desc] <^2> [power-1]
[power-1] and [power-1]
[power-1] [power-p1] [power-p2]
@@ -300,10 +300,9 @@ pragma suffix-with [comp] [comp-weapon]
[comp-name] [comp-name1]
[comp-prefix] [comp-name1]
-[comp-prefix] [comp-prefix1]
- [comp-prefix2]
- [comp-prefix1] [comp-prefix2]
- [comp-prefix2] [comp-prefix1]
+[comp-prefix] {empty}
+
+pragma prefix-with [comp-prefix] [comp-prefix1] [comp-prefix2]
[comp-name1] dragon
mecha
@@ -437,10 +436,9 @@ pragma suffix-with [comp] [comp-weapon]
rapier
scissors
-[compweap-prefix] [compweap-1]
- [compweap-2]
- [compweap-1] [compweap-2]
- [compweap-2] [compweap-1]
+[compweap-prefix] {empty}
+
+pragma prefix-with [compweap-prefix] [compweap-1] [compweap-2]
[compweap-1] poisoned
blessed
diff --git a/data/sample-grammars/media.gram b/data/sample-grammars/media.gram
index f3a1c98..1a37118 100644..100755
--- a/data/sample-grammars/media.gram
+++ b/data/sample-grammars/media.gram
@@ -10,26 +10,26 @@ pragma initial-rule [media-company]
[chan+name] k [chan-name2]
w [chan-name2]
-[chan-name2] [letter] [letter] [letter] -tv
+[chan-name2] <&3> [letter] -tv
[radio-station] [radio+name] on frequency [radio+chan]
[radio+name] k [radio+name2]
w [radio+name2]
-[radio+name2] [letter] [letter] [letter] [chan-type]
+[radio+name2] <&3> [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]
-[radio-9chan] [digit] . [digit]
+[radio-9chan] [0..9] . [0..9]
-[fm-1chan] 1 [digit] [digit] . [digit]
+[fm-1chan] 1 [0..9] [0..9] . [0..9]
-[am-1chan] 10 [digit] [digit]
+[am-1chan] 10 [0..9] [0..9]
[newspaper] the [newspaper-pair1] - [newspaper-pair2]
the [newspaper-pair1] - [newspaper-pair2] - [newspaper-pair2]
@@ -112,8 +112,7 @@ pragma initial-rule [media-company]
pragma export-rule [newspaper-pair2]
-[cardinal] [act-cardinal]
- [act-cardinal]
+[cardinal] <^2> [act-cardinal]
[act-cardinal] by [act-cardinal]
[2+cardinal]
diff --git a/data/sample-grammars/mission.gram b/data/sample-grammars/mission.gram
index e474fcd..8fbe9ca 100644..100755
--- a/data/sample-grammars/mission.gram
+++ b/data/sample-grammars/mission.gram
@@ -211,7 +211,7 @@ pragma initial-rule [mission-statement]
supply-chains
synergies
technologies
- total {{empty}} quality {{empty}} management
+ total {empty} quality {empty} management
version control
vision
catalysts for [noun]
diff --git a/data/sample-grammars/names.gram b/data/sample-grammars/names.gram
index 104c136..a0c41c3 100644..100755
--- a/data/sample-grammars/names.gram
+++ b/data/sample-grammars/names.gram
@@ -30,17 +30,11 @@ pragma export-rule [random-name]
[female-title] [first-name-female] [middle-initial] . [last-name]
[gender-neutral-title] [full-name]
[generic-title] [full-name]
- [full-name]
- [full-name]
- [full-name]
- [full-name]
+ <^4> [full-name]
-[generic-title] [male-title]
- [female-title]
- [gender-neutral-title]
- [male-title]
- [female-title]
- [gender-neutral-title]
+[generic-title] <^2> [male-title]
+ <^2> [female-title]
+ <^2> [gender-neutral-title]
[career-tech]
# @TODO 10/23/17 Ben Culkin :TitleExpansion
@@ -54,52 +48,52 @@ pragma export-rule [random-name]
Uncle
Lord Mayor
Prince
- archduke
- grand duke
- duke
- marquis
- marquess
- count
- earl
- jarl
- viscount
- baron
- lord
- emperor
- king
- tsar
- imperator
- viceroy
- pope
- abbot
- brother
- friar
- bishop
- archbishob
- priest
- high priest
- father
- patriarch
- vicar
- chaplain
- pastor
- cardinal
- monsieur
- herr
- senor
- signor
- emir
- sultan
- maharajah
- lord protector
- king-emperor
- rex
- lord of the manor
- high king
- crown prince
- grand prince
- praetor
- headmaster
+ Archduke
+ Grand Duke
+ Duke
+ Marquis
+ Marquess
+ Count
+ Earl
+ Jarl
+ Viscount
+ Baron
+ Lord
+ Emperor
+ King
+ Tsar
+ Imperator
+ Viceroy
+ Pope
+ Abbot
+ Brother
+ Friar
+ Bishop
+ Archbishob
+ Priest
+ High Priest
+ Father
+ Patriarch
+ Vicar
+ Chaplain
+ Pastor
+ Cardinal
+ Monsieur
+ Herr
+ Senor
+ Signor
+ Emir
+ Sultan
+ Maharajah
+ Lord Protector
+ King-Emperor
+ Rex
+ Lord Of The Manor
+ High King
+ Crown Prince
+ Grand Prince
+ Praetor
+ Headmaster
[female-title] Ms.
Mrs.
@@ -107,51 +101,51 @@ pragma export-rule [random-name]
Mistress
Aunt
Lady Mayoress
- princess
- arch duchess
- grand duchess
- duchess
- marquise
- marchioness
- countess
- viscountess
- baroness
- lady
- empress
- queen
- tsarina
- imperatrix
- rex
- vicerine
- popess
- dame
- abbess
- sister
- mother superior
- mother
- reverend mother
- priestess
- high priestess
- matriarch
- madame
- mademoiselle
- frau
- fraulein
- senora
- senorita
- signora
- signorina
- emira
- sultana
- maharani
- lady protectoress
- queen-empress
- regina
- lady of the manor
- high queen
- crown princess
- grand princess
- headmistress
+ Princess
+ Arch Duchess
+ Grand Duchess
+ Duchess
+ Marquise
+ Marchioness
+ Countess
+ Viscountess
+ Baroness
+ Lady
+ Empress
+ Queen
+ Tsarina
+ Imperatrix
+ Rex
+ Vicerine
+ Popess
+ Dame
+ Abbess
+ Sister
+ Mother Superior
+ Mother
+ Reverend Mother
+ Priestess
+ High Priestess
+ Matriarch
+ Madame
+ Mademoiselle
+ Frau
+ Fraulein
+ Senora
+ Senorita
+ Signora
+ Signorina
+ Emira
+ Sultana
+ Maharani
+ Lady Protectoress
+ Queen-Empress
+ Regina
+ Lady Of The Manor
+ High Queen
+ Crown Princess
+ Grand Princess
+ Headmistress
[gender-neutral-title] Dr.
Professor
@@ -172,188 +166,186 @@ pragma export-rule [random-name]
[ambassador]
[envoy]
[secretary]
- attache
- attache ( to [full-name-and-title] )
- provost
- chevalier
+ Attache
+ Attache ( to [full-name-and-title] )
+ Provost
+ Chevalier
[judicial-title]
[religious-title]
[military-title]
- coach
- wizard
- grand wizard
- imperial wizard
- principal
- comrade
- docent
- lama
- druid
- archdruid
- rabbi
- ayatollah
- bodhisattva
- saoshyant
- sheikh
- archon
- legate
- satrap
- consul
- doge
- pharaoh
- caliph
- khagan
- khan
- shah
- shogun
- despot
- kaiser
- don
- comissioner
- comptroller
- courtier
+ Coach
+ Wizard
+ Grand Wizard
+ Imperial Wizard
+ Principal
+ Comrade
+ Docent
+ Lama
+ Druid
+ Archdruid
+ Rabbi
+ Ayatollah
+ Bodhisattva
+ Saoshyant
+ Sheikh
+ Archon
+ Legate
+ Satrap
+ Consul
+ Doge
+ Pharaoh
+ Caliph
+ Khagan
+ Khan
+ Shah
+ Shogun
+ Despot
+ Kaiser
+ Don
+ Comissioner
+ Comptroller
+ Courtier
courtier (to [full-name-and-title] )
- curator
- intendant
- superindentent
- sheriff
- treasurer
- warden
- lord warden
- apprentice
+ Curator
+ Intendant
+ Superindentent
+ Sheriff
+ Treasurer
+ Warden
+ Lord Warden
+ Apprentice
apprentice (to a [generic-title] )
apprentice (to [full-name-and-title] )
- journeyman
- adept
- centurion
- daimyo
- elector
- inquisitor
- grand inquisitor
- pontiff
- knight
- squire
+ Journeyman
+ Adept
+ Centurion
+ Daimyo
+ Elector
+ Inquisitor
+ Grand Inquisitor
+ Pontiff
+ Knight
+ Squire
squire (to [full-name-and-title] )
-[military-title] admiral
- grand admiral
- lord high admiral
- rear admiral
- vice admiral
- brigadier
- captain
- group captain
- colonel
- lieutenant colonel
- commander
- commander-in-chief
- lieutenant commander
- wing commander
- commodore
- air commodore
- corporal
- lance corporal
- staff corporal
- general
- first lieutenant
- flight lieutenant
- major
- marshal
- air marshal
- field marshal
- mate
- chief mate
- first mate
+[military-title] mdmiral
+ Grand Admiral
+ Lord High Admiral
+ Rear Admiral
+ Vice Admiral
+ Brigadier
+ Captain
+ Group Captain
+ Colonel
+ Lieutenant Colonel
+ Commander
+ Commander-In-Chief
+ Lieutenant Commander
+ Wing Commander
+ Commodore
+ Air Commodore
+ Corporal
+ Lance Corporal
+ Staff Corporal
+ General
+ First Lieutenant
+ Flight Lieutenant
+ Major
+ Marshal
+ Air Marshal
+ Field Marshal
+ Mate
+ Chief Mate
+ First Mate
[officer]
- private
- sergeant
- sergeant at arms
- brigadier general
- cadet
- ensign
+ Private
+ Sergeant
+ Sergeant At Arms
+ Brigadier General
+ Cadet
+ Ensign
-[officer] officer
- chief academic officer
- chief executive officer
- chief information officer
- chief operating officer
- field officer
- first officer
- flag officer
- warrant officer
- petty officer
- police officer
- political officer
- senior officer
- staff officer
- police officer
- constable
- agent
+[officer] Officer
+ Chief Academic Officer
+ Chief Executive Officer
+ Chief Information Officer
+ Chief Operating Officer
+ Field Officer
+ First Officer
+ Flag Officer
+ Warrant Officer
+ Petty Officer
+ Police Officer
+ Political Officer
+ Senior Officer
+ Staff Officer
+ Police Officer
+ Constable
+ Agent
-[religious-title] venerable
- blessed
+[religious-title] Venerable
+ Blessed
Saint
St.
- decon
- archdeacon
- acolyte
- dean
- elder
- minister
- monsignor
- reader
- almoner
+ Decon
+ Archdeacon
+ Acolyte
+ Dean
+ Elder
+ Minister
+ Monsignor
+ Reader
+ Almoner
-[judicial-title] advocate
- attorney
- attorney general
- bailiff
- chancellor
- judge
- justice
- lord chief justice
- justice of the peace
- magistrate
- solicitor
+[judicial-title] Advocate
+ Attorney
+ Attorney General
+ Bailiff
+ Chancellor
+ Judge
+ Justice
+ Lord Chief Justice
+ Justice Of The Peace
+ Magistrate
+ Solicitor
-[president] president
- deputy president
- vice president
- executive vice president
- lord president of the council
+[president] President
+ Deputy President
+ Vice President
+ Executive Vice President
+ Lord President Of The Council
-[ambassador] ambassador
- ambassador (to [nation] )
+[ambassador] Ambassador
+ Ambassador (to [nation] )
-[envoy] envoy
- envoy (to [nation] )
- envoy (to the [generic-title] )
+[envoy] Envoy
+ Envoy (to [nation] )
+ Envoy (to the [generic-title] )
envoy (to [full-name-and-title] )
- special envoy
- special envoy (to [nation] )
- special envoy (to the [generic-title] )
- special envoy (to [full-name-and-title] )
+ Special Envoy
+ Special Envoy (to [nation] )
+ Special Envoy (to the [generic-title] )
+ Special Envoy (to [full-name-and-title] )
-[secretary] secretary
- secretary (to [full-name-and-title] )
- secretary (to the [generic-title] )
- under-secretary
- under-secretary (to [full-name-and-title] )
- under-secretary (to the [generic-title] )
- foreign secretary
- general secretary
- secretary of state
+[secretary] Secretary
+ Secretary (to [full-name-and-title] )
+ Secretary (to the [generic-title] )
+ Under-Secretary
+ Under-Secretary (to [full-name-and-title] )
+ Under-Secretary (to the [generic-title] )
+ Foreign Secretary
+ General Secretary
+ Secretary Of State
pragma suffix-with [full-name-and-title] [title-generation]
-pragma suffix-with [full-name-and-title] [title-suffix]
-pragma suffix-with [full-name-and-title] [title-suffix]
-pragma suffix-with [full-name-and-title] [title-suffix]
+pragma suffix-with [full-name-and-title] <&1..3> [title-suffix]
[title-generation] Sr.
Jr.
[roman-numeral]
- the [roman-numeral]
- the [ordinal]
- the [ordinal-number]
+ The [roman-numeral]
+ The [ordinal]
+ The [ordinal-number]
[title-trailer] CPA
Ph.D
@@ -423,9 +415,9 @@ pragma suffix-with [full-name-and-title] [title-suffix]
[random-name] [actual+random-name]
-[actual+random-name] [syllable] [syllable]
- [syllable] [syllable] [last-syllable]
+[actual+random-name] <&1..3> [syllable]
+ <&1..3> [syllable] [last-syllable]
[syllable] [vowel] [consonant-group] [vowel]
[consonant-group] [vowel] [syllable]
- [vowel] [syllable] [syllable]
+ [vowel] <&1..3> [syllable]
[syllable] [vowel-group] [consonant]
diff --git a/data/sample-grammars/newspaper.gram b/data/sample-grammars/newspaper.gram
index afa91ee..afa91ee 100644..100755
--- a/data/sample-grammars/newspaper.gram
+++ b/data/sample-grammars/newspaper.gram
diff --git a/data/sample-grammars/numbers.gram b/data/sample-grammars/numbers.gram
index 4db84b9..a494fab 100644..100755
--- a/data/sample-grammars/numbers.gram
+++ b/data/sample-grammars/numbers.gram
@@ -8,12 +8,12 @@ pragma export-rule [small-number]
pragma export-rule [medium-number]
pragma export-rule [zipcode]
-[actual+small-number] [digit-nonzero]
- [digit-nonzero] [digit]
- [digit-nonzero] [digit] [digit]
+[actual+small-number] [1..9]
+ [1..9] [0..9]
+ [1..9] [0..9] [0..9]
-[actual+medium-number] [digit-nonzero] [digit] [digit]
- [digit-nonzero] [digit] [digit] [digit]
- [digit-nonzero] [digit] [digit] [digit] [digit]
+[actual+medium-number] [1..9] [0..9] [0..9]
+ [1..9] [0..9] [0..9] [0..9]
+ [1..9] [0..9] [0..9] [0..9] [0..9]
-[actual+zipcode] [digit] [digit] [digit] [digit] [digit]
+[actual+zipcode] [0..9] [0..9] [0..9] [0..9] [0..9]
diff --git a/data/sample-grammars/ordinal.gram b/data/sample-grammars/ordinal.gram
index da4aa4e..70e9b39 100644..100755
--- a/data/sample-grammars/ordinal.gram
+++ b/data/sample-grammars/ordinal.gram
@@ -3,10 +3,10 @@
pragma export-rule [ordinal-number]
[actual+ordinal-number] [ordinal-digit]
- 1 [digit] th
- [digit-twoup] [ordinal-digit]
- [digit-twoup] [ordinal-digit]
- [digit-nonzero] [ordinal-number]
+ 1 [0..9] th
+ [2..9] [ordinal-digit]
+ [2..9] [ordinal-digit]
+ [1..9] [ordinal-number]
[ordinal-digit] 1st
2nd
diff --git a/data/sample-grammars/organization.gram b/data/sample-grammars/organization.gram
index 9c88686..0101aa1 100644..100755
--- a/data/sample-grammars/organization.gram
+++ b/data/sample-grammars/organization.gram
@@ -1,15 +1,14 @@
[organization-desc] [org-political]
-[org-postfix] (allies of [org-political] )
+[org-postfix] <^3> {empty}
+ (allies of [org-political] )
(enemies of [org-political] )
(secretly opposed to [org-political] )
(secretly in cohorts with [org-political] )
(based in [city] )
(based in [town-name] )
-pragma suffix-with [organization-desc] [org-postfix]
-pragma suffix-with [organization-desc] [org-postfix]
-pragma suffix-with [organization-desc] [org-postfix]
+pragma suffix-with [organization-desc] <&1..3> [org-postfix]
[organization] [org-political]
@@ -119,7 +118,7 @@ pragma prefix-with [org-goal] [org-goal-abolish]
wealth
filthy rich
-[min+wage] [9..20] . [digit] [digit]
+[min+wage] [9..20] . [0..9] [0..9]
[protect] bill of rights
first amendment
diff --git a/data/sample-grammars/part-creature.gram b/data/sample-grammars/part-creature.gram
index 41bbb83..5875ea1 100755
--- a/data/sample-grammars/part-creature.gram
+++ b/data/sample-grammars/part-creature.gram
@@ -16,12 +16,8 @@ pragma prefix-with [creature-choice] [abilities]
pragma initial-rule [full-creature]
pragma export-rule [creature-choice]
-[abilities] [ability]
- [ability]
- [ability]
- [ability]
- [quote-ability] and [quote-ability]
- [quote-ability] and [quote-ability]
+[abilities] <^4> [ability]
+ <^2> [quote-ability] and [quote-ability]
[quote-ability] , [quote-ability] and [quote-ability]
[quote-ability] ( [ability] )
@@ -60,12 +56,8 @@ pragma despace-rule [eating]
# @TODO 10/26/17 Ben Culkin :CharacteristicAdditions
# Add more templates and classes to the list
-[characteristics] [characteristic]
- [characteristic]
- [characteristic]
- [characteristic]
- [quote-characteristic] and [quote-characteristic]
- [quote-characteristic] and [quote-characteristic]
+[characteristics] <^4> [characteristic]
+ <^2> [quote-characteristic] and [quote-characteristic]
[quote-characteristic] , [quote-characteristic] and [quote-characteristic]
[quote-characteristic] ( [characteristic] )
diff --git a/data/sample-grammars/phone-number.gram b/data/sample-grammars/phone-number.gram
index 163ef4a..e9c3a7c 100644..100755
--- a/data/sample-grammars/phone-number.gram
+++ b/data/sample-grammars/phone-number.gram
@@ -10,20 +10,18 @@
pragma suffix-with [us-phone-number] [extension]
pragma export-rule [us-phone-number]
-[area+code] ( [digit] [digit] [digit] )
+[area+code] ( [0..9] [0..9] [0..9] )
-[full+num] [digit] [digit] [digit] - [digit] [digit] [digit] [digit]
+[full+num] [0..9] [0..9] [0..9] - [0..9] [0..9] [0..9] [0..9]
[intl+num] [1..100] - [full+num]
-[ext+num] [digit-nonzero] [digit] [digit]
+[ext+num] [1..9] [0..9] [0..9]
-pragma suffix-with [ext+num] [digit]
-pragma suffix-with [ext+num] [digit]
-pragma suffix-with [ext+num] [digit]
+pragma suffix-with [ext+num] <&1..3> [0..9]
-[letter+num] [digit] [digit] [digit] - [letter] [letter] [letter] [letter]
+[letter+num] [0..9] [0..9] [0..9] - [letter] [letter] [letter] [letter]
-[1800+num] 1-800- [digit] [digit] [digit] - [digit] [digit] [digit] [digit]
+[1800+num] 1-800- [0..9] [0..9] [0..9] - [0..9] [0..9] [0..9] [0..9]
[1800+letter+num] 1-800- [letter] [letter] [letter] [letter] [letter] [letter] [letter]
diff --git a/data/sample-grammars/pokeattacks.gram b/data/sample-grammars/pokeattacks.gram
index 649f42c..dcbd770 100755
--- a/data/sample-grammars/pokeattacks.gram
+++ b/data/sample-grammars/pokeattacks.gram
@@ -1,29 +1,24 @@
-[pokeattack] [pokeattack-name]
+[pokeattack] {@oword:=[word-1]} {@tword:=[word-2]} {@ptype:=[poke-type]} [act-pokeattack]
-[attack-type] ( [poke-type] type)
- ( [poke-type] / [poke-type] type)
+[act-pokeattack] [pokeattack-name]
+
+[attack-type] ( [@ptype] type)
+ ( [@ptype] / [@ptype] type)
[attack-pp] ( [5..40] pp )
-pragma despace-rule [attack-type]
-pragma despace-rule [attack-pp]
-
-pragma suffix-with [pokeattack] [move-kind]
-pragma suffix-with [pokeattack] [attack-type]
-pragma suffix-with [pokeattack] [attack-pp]
-
-[pokeattack-name] [word-1] [word-1]
- [word-2] [word-2]
- [word-1] [word-2]
- [word-2] [word-1]
- [word-1] [seperator] [word-1]
- [word-2] [seperator] [word-2]
- [word-1] [seperator] [word-2]
- [word-2] [seperator] [word-1]
- [word-1] [seperator] [word-1]
- [word-2] [seperator] [word-2]
- [word-1] [seperator] [word-2]
- [word-2] [seperator] [word-1]
+pragma suffix-with [act-pokeattack] [move-kind]
+pragma suffix-with [act-pokeattack] [attack-type]
+pragma suffix-with [act-pokeattack] [attack-pp]
+
+[pokeattack-name] <^2> <&1..2> [@oword] [@oword]
+ <^2> <&1..2> [@tword] [@tword]
+ <^2> [@oword] [@tword]
+ <^2> [@tword] [@oword]
+ [@oword] [seperator] [@oword]
+ [@oword] [seperator] [@tword]
+ [@tword] [seperator] [@oword]
+ [@tword] [seperator] [@tword]
[seperator] -
/
@@ -54,16 +49,16 @@ pragma suffix-with [pokeattack] [attack-pp]
pragma initial-rule [pokeattack]
pragma export-rule [pokeattack-name]
-[word-11] [word-1]
+[word-11] [@oword]
pragma suffix-with [word-11] [seperator]
-[word-21] [word-2]
+[word-21] [@tword]
pragma prefix-with [word-21] [seperator]
-pragma prefix-with [pokeattack-name] [word-1]
-pragma suffix-with [pokeattack-name] [word-2]
+pragma prefix-with [pokeattack-name] [word-11]
+pragma suffix-with [pokeattack-name] [word-21]
[word-1] acid
aerial
diff --git a/data/sample-grammars/president.gram b/data/sample-grammars/president.gram
index 63b928c..4312f4e 100644..100755
--- a/data/sample-grammars/president.gram
+++ b/data/sample-grammars/president.gram
@@ -1,64 +1,66 @@
-[us-president] george washington
- john adams
- thomas jefferson
- james madison
- james monroe
- john quincy adams
- andrew jackson
- martin van buren
- william henry harrison
- john tyler
- james polk
- zachary taylor
- millard fillmore
- franklin pierce
- james buchanan
- abraham lincoln
- andrew johnson
- ulysses s grant
- rutherford b. hayes
- james garfield
- chester a. arthur
- grover cleveland
- benjamin harrison
- william mckinley
- theodore roosevelt
- william taft
- woodrow wilson
- warren g. harding
- calvin coolidge
- herbert hoover
- franklin d. roosevelt
- harry s truman
- dwight eisenhower
- john f. kennedy
- lyndon b. johnson
- richard nixon
- gerald ford
- jimmie carter
- ronald reagan
- george bush
- bill clinton
- george w. bush
- barack obama
- donald trump
+[us-president] George Washington
+ John Adams
+ Thomas Jefferson
+ James Madison
+ James Monroe
+ John Quincy Adams
+ Andrew Jackson
+ Martin Van Buren
+ William Henry Harrison
+ John Tyler
+ James Polk
+ Zachary Taylor
+ Millard Fillmore
+ Franklin Pierce
+ James Buchanan
+ Abraham Lincoln
+ Andrew Johnson
+ Ulysses S Grant
+ Rutherford B. Hayes
+ James Garfield
+ Chester A. Arthur
+ Grover Cleveland
+ Benjamin Harrison
+ William Mckinley
+ Theodore Roosevelt
+ William Taft
+ Woodrow Wilson
+ Warren G. Harding
+ Calvin Coolidge
+ Herbert Hoover
+ Franklin D. Roosevelt
+ Harry S Truman
+ Dwight Eisenhower
+ John F. Kennedy
+ Lyndon B. Johnson
+ Richard Nixon
+ Gerald Ford
+ Jimmie Carter
+ Ronald Reagan
+ George Bush
+ Bill Clinton
+ George W. Bush
+ Barack Obama
+ Donald Trump
[us-president-common] washington
- adams
- jefferson
- madison
- monroe
- adams
- jackson
- van buren
- harrison
- taylor
- lincoln
- johnson
- garfield
- roosevelt
- wilson
- truman
+ Adams
+ Jefferson
+ Madison
+ Monroe
+ Adams
+ Jackson
+ Van Buren
+ Harrison
+ Taylor
+ Lincoln
+ Johnson
+ Garfield
+ Roosevelt
+ Wilson
+ Truman
+ Obama
+ Trump
pragma export-rule [us-president]
pragma export-rule [us-president-common]
diff --git a/data/sample-grammars/rtwiki/adjective.gram b/data/sample-grammars/rtwiki/adjective.gram
index 09168aa..487b0bf 100644..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/bodyparts.gram b/data/sample-grammars/rtwiki/bodyparts.gram
index 71b4924..71b4924 100644..100755
--- a/data/sample-grammars/rtwiki/bodyparts.gram
+++ b/data/sample-grammars/rtwiki/bodyparts.gram
diff --git a/data/sample-grammars/rtwiki/class.gram b/data/sample-grammars/rtwiki/class.gram
index 8fcb17c..8fcb17c 100644..100755
--- a/data/sample-grammars/rtwiki/class.gram
+++ b/data/sample-grammars/rtwiki/class.gram
diff --git a/data/sample-grammars/rtwiki/color.gram b/data/sample-grammars/rtwiki/color.gram
index 346f73b..87aaae2 100644..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/creature.gram b/data/sample-grammars/rtwiki/creature.gram
index b3f7b92..b3f7b92 100644..100755
--- a/data/sample-grammars/rtwiki/creature.gram
+++ b/data/sample-grammars/rtwiki/creature.gram
diff --git a/data/sample-grammars/rtwiki/death-cause.gram b/data/sample-grammars/rtwiki/death-cause.gram
index 74e58e8..3ad27ea 100644..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 100644..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..47141f0 100644..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 100644..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 100644..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/rtwiki/traits.gram b/data/sample-grammars/rtwiki/traits.gram
index c3ff790..c3ff790 100644..100755
--- a/data/sample-grammars/rtwiki/traits.gram
+++ b/data/sample-grammars/rtwiki/traits.gram
diff --git a/data/sample-grammars/rune.gram b/data/sample-grammars/rune.gram
index 4c64e5a..79499f3 100755
--- a/data/sample-grammars/rune.gram
+++ b/data/sample-grammars/rune.gram
@@ -1,19 +1,14 @@
-# @TODO 10/23/17 Ben Culkin :RuneDebug
-# Something seems to be wrong with this grammar, and I'm not sure as to
-# the exact details.
-#
-# The problem is that we are getting multiple runes running together
-# without an obvious cause.
+[rune-string] {@1rune:=[rune-1]} {@2rune:=[rune-2]} {@3rune:=[rune-3]} [act-rune-string]
-[rune-string] [rune-2]
- [rune-1] [rune-2]
- [rune-1] [rune-2] [rune-3]
- [rune-2] [rune-3]
+[act-rune-string] [@2rune]
+ [@1rune] [@2rune]
+ [@1rune] [@2rune] [@3rune]
+ [@2rune] [@3rune]
pragma initial-rule [rune-string]
-pragma prefix-with [rune-string] [rune-1]
-pragma suffix-with [rune-string] [rune-3]
+pragma prefix-with [act-rune-string] [@1rune]
+pragma suffix-with [act-rune-string] [@3rune]
[rune-1] a dagger plunged into
vines growing out of
diff --git a/data/sample-grammars/school.gram b/data/sample-grammars/school.gram
index cd9298b..cd9298b 100644..100755
--- a/data/sample-grammars/school.gram
+++ b/data/sample-grammars/school.gram
diff --git a/data/sample-grammars/slashdot.gram b/data/sample-grammars/slashdot.gram
index 2b38ee3..2b38ee3 100644..100755
--- a/data/sample-grammars/slashdot.gram
+++ b/data/sample-grammars/slashdot.gram
diff --git a/data/sample-grammars/states.gram b/data/sample-grammars/states.gram
index 43f1402..ee4f547 100644..100755
--- a/data/sample-grammars/states.gram
+++ b/data/sample-grammars/states.gram
@@ -1,53 +1,53 @@
-[us-state] alabama
- alaska
- arizona
- arkansas
- california
- colorado
- connecticut
- delaware
- florida
- georgia
- hawaii
- idaho
- illinois
- indiana
- iowa
- kansas
- kentucky
- louisiana
- maine
- maryland
- massachusetts
- michigan
- minnesota
- mississippi
- missouri
- montana
- nebraska
- nevada
- new hampshire
- new jersey
- new mexico
- new york
- north carolina
- north dakota
- ohio
- oklahoma
- oregon
- pennsylvania
- rhode island
- south carolina
- south dakota
- tennessee
- texas
- utah
- vermont
- virginia
- washington
- west virginia
- wisconsin
- wyoming
+[us-state] Alabama
+ Alaska
+ Arizona
+ Arkansas
+ California
+ Colorado
+ Connecticut
+ Delaware
+ Florida
+ Georgia
+ Hawaii
+ Idaho
+ Illinois
+ Indiana
+ Iowa
+ Kansas
+ Kentucky
+ Louisiana
+ Maine
+ Maryland
+ Massachusetts
+ Michigan
+ Minnesota
+ Mississippi
+ Missouri
+ Montana
+ Nebraska
+ Nevada
+ New Hampshire
+ New Jersey
+ New Mexico
+ New York
+ North Carolina
+ North Dakota
+ Ohio
+ Oklahoma
+ Oregon
+ Pennsylvania
+ Rhode Island
+ South Carolina
+ South Dakota
+ Tennessee
+ Texas
+ Utah
+ Vermont
+ Virginia
+ Washington
+ West Virginia
+ Wisconsin
+ Wyoming
pragma export-rule [us-state]
pragma export-rule [us-postalstate]
diff --git a/data/sample-grammars/superhero.gram b/data/sample-grammars/superhero.gram
index cdb609f..b9fab59 100755
--- a/data/sample-grammars/superhero.gram
+++ b/data/sample-grammars/superhero.gram
@@ -5,14 +5,9 @@ pragma initial-rule [superhero-desc]
[superhero-postfix] [superhero-ally]
[superhero-enemy]
-pragma suffix-with [superhero-desc] [superhero-postfix]
-pragma suffix-with [superhero-desc] [superhero-postfix]
-pragma suffix-with [superhero-desc] [superhero-postfix]
-
+pragma suffix-with [superhero-desc] <&1..3> [superhero-postfix]
pragma suffix-with [superhero-desc] [superhero-secret]
-
-pragma suffix-with [superhero-desc] [superhero-org]
-pragma suffix-with [superhero-desc] [superhero-org]
+pragma suffix-with [superhero-desc] <&1..2> [superhero-org]
[superhero-ally] (ally of [superhero-name] )
(secret ally of [superhero-name] )
@@ -37,15 +32,15 @@ pragma suffix-with [superhero-desc] [superhero-org]
(second in command of the [organization] )
( [generic-title] of the [organization] )
-[superhero-name] [first-part] [second-part]
- [second-part] [first-part]
-
-pragma export-rule [superhero-name]
+[superhero-name] {empty}
+pragma prefix-with [superhero-name] [first-part] [second-part]
pragma suffix-with [superhero-name] [third-part]
+pragma prefix-with [superhero-name] [third-part2]
pragma suffix-with [superhero-name] [fourth-part]
pragma suffix-with [superhero-name] [fifth-part]
-pragma prefix-with [superhero-name] [third-part2]
+
+pragma export-rule [superhero-name]
[fifth-part] and the [third-part2]
and [third-part2]
@@ -123,8 +118,7 @@ pragma suffix-with [fifth-part] [fourth-part]
Torch
Magus
Wizard
- [second-class]
- [second-class]
+ <^2> [second-class]
[second-class] Rider
Caster
@@ -137,6 +131,11 @@ pragma suffix-with [fifth-part] [fourth-part]
Ruler
Shielder
Avenger
+ Foreigner
+ Alter Ego
+ Moon Cancer
+
+pragma prefix-with [second-class] Grand
[third-part] ,The [third-part2]
@@ -219,8 +218,7 @@ pragma suffix-with [third-part] [fifth-part]
Deadly
Flaming
Thunderer
- [major-arcana]
- [major-arcana]
+ <^2> [major-arcana]
Cardinal
Bishop
Archbishop
@@ -231,14 +229,12 @@ pragma suffix-with [third-part] [fifth-part]
Motherly
Sinister
Embodiment
- [generic-title]
- [generic-title]
+ <^2> [generic-title]
[fourth-part] of [fourth-part-act]
[fourth-part-act] the [fourth-part-the]
- [harrowed-many-things]
- [harrowed-many-things]
+ <^2> [harrowed-many-things]
Hope
Destiny
Justice
@@ -249,10 +245,8 @@ pragma suffix-with [third-part] [fifth-part]
Knowledge
Earth
Eternal Fire
- [planet]
- [planet]
- [second-part]
- [second-part]
+ <^2> [planet]
+ <^2> [second-part]
[planet] Earth
Mars
@@ -282,12 +276,9 @@ pragma suffix-with [third-part] [fifth-part]
Ancients
Archive
Moon
- [generic-title]
- [generic-title]
- [exalt-type]
- [exalt-type]
- [arcana]
- [arcana]
+ <^2> [generic-title]
+ <^2> [exalt-type]
+ <^2> [arcana]
[exalt-type] Dawn
Zenith
@@ -295,10 +286,11 @@ pragma suffix-with [third-part] [fifth-part]
Night
Eclipse
-[arcana] [tarot-card]
- Arcana
+[arcana] [%tarot-card||%alt-tarot-card]
Minor Arcana
Major Arcana
- [ordinal-roman] Arcana
- [ordinal-number] Arcana
- [ordinal] Arcana
+ <^3> [ordinal-arcana]
+
+[ordinal-arcana] {empty}
+
+pragma prefix-with [ordinal-arcana] Arcana [%ordinal||%ordinal-roman||%ordinal-number]
diff --git a/data/sample-grammars/tarotcard.gram b/data/sample-grammars/tarotcard.gram
index 43741a0..0e3a6da 100755
--- a/data/sample-grammars/tarotcard.gram
+++ b/data/sample-grammars/tarotcard.gram
@@ -1,4 +1,4 @@
-[tarot-card] [adjective-of] [title]
+[alt-tarot-card] [adjective-of] [title]
[adjective-of] [title] [adjective]
[adjective-of] [title] [adjective] [noun]
[adjective-of] [noun] [title]
@@ -11,12 +11,10 @@
[title] [adjective]
[title] [adjective] [noun]
-pragma initial-rule [tarot-card]
+pragma initial-rule [alt-tarot-card]
-[title] [male-title]
- [male-title]
- [female-title]
- [female-title]
+[title] <^2> [male-title]
+ <^2> [female-title]
[misc-title]
[male-title] emperor
diff --git a/data/sample-grammars/technobabble.gram b/data/sample-grammars/technobabble.gram
index 3861576..1f20fb4 100755
--- a/data/sample-grammars/technobabble.gram
+++ b/data/sample-grammars/technobabble.gram
@@ -1,14 +1,13 @@
-[technobabble] [part-prefix] [part-suffix] [part-problem]
- [part-suffix] [part-prefix] [part-problem]
- [part-prefix] [part-problem]
+[technobabble] [part-clause] [part-problem]
+[part-clause] {empty}
+
+pragma prefix-with [part-clause] [part-prefix] [part-suffix]
pragma initial-rule [technobabble]
pragma suffix-with [technobabble] [part-cause]
-[part-cause] the [part-prefix]
- the [part-suffix]
- the [part-prefix] [part-suffix]
+[part-cause] the [part-clause]
pragma suffix-with [part-cause] [add-cause]
diff --git a/data/sample-grammars/theory.gram b/data/sample-grammars/theory.gram
index af2ce49..828b180 100644..100755
--- a/data/sample-grammars/theory.gram
+++ b/data/sample-grammars/theory.gram
@@ -1,12 +1,9 @@
-[theory] [plural+last] [theory-suffix]
+[theory] <^2> [plural+last] [theory-suffix]
+ <^2> the [last-name] [theory-suffix]
+ <^3> the [2+last-name] [theory-suffix]
[plural+last] [theory-suffix]
- the [2+last-name] [theory-suffix]
- the [2+last-name] [theory-suffix]
- the [2+last-name] [theory-suffix]
the [3+last-name] [theory-suffix]
[plural+last] [ordinal] [theory-suffix]
- the [last-name] [theory-suffix]
- the [last-name] [theory-suffix]
pragma initial-rule [theory]
diff --git a/data/sample-grammars/trademark.gram b/data/sample-grammars/trademark.gram
index 7ec2fef..3871db6 100644..100755
--- a/data/sample-grammars/trademark.gram
+++ b/data/sample-grammars/trademark.gram
@@ -37,9 +37,7 @@ pragma initial-rule [trademark]
cere
mor
-[trademark+drug] [trademark-drug-fragment] [trademark-drug-suffix]
- [trademark-drug-fragment] [trademark-drug-suffix]
- [trademark-drug-fragment] [trademark-drug-suffix]
+[trademark+drug] <^3> [trademark-drug-fragment] [trademark-drug-suffix]
[trademark-fragment] [trademark-drug-suffix]
[trademark-fragment] [trademark-drug-fragment] [trademark-drug-suffix]
[syllable] [trademark-drug-fragment] [trademark-drug-suffix]
diff --git a/data/sample-grammars/vaultsofnagoh/turboghoul-hats.gram b/data/sample-grammars/vaultsofnagoh/turboghoul-hats.gram
index 57eef10..7632b94 100644..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/sample-grammars/web.gram b/data/sample-grammars/web.gram
index 357fc36..32d2979 100644..100755
--- a/data/sample-grammars/web.gram
+++ b/data/sample-grammars/web.gram
@@ -20,14 +20,10 @@ pragma export-rule [big-tld]
[actual+email] [email-initial] @ [email-trailing]
-[email-initial] [username]
- [acronym]
- [email-alias]
- [full-name]
- [username]
- [acronym]
- [email-alias]
- [full-name]
+[email-initial] <^2> [username]
+ <^2> [acronym]
+ <^2> [email-alias]
+ <^2> [full-name]
[subdomain-name]
[email-misc]
[email-initial] + [email-initial]
@@ -99,7 +95,7 @@ pragma export-rule [big-tld]
[url-with-path]
[url-with-path]
-[url-with-path] [url-protocol] :// www.geocities.com/ [neighborhood] / [digit-nonzero] [digit] [digit] [digit] /
+[url-with-path] [url-protocol] :// www.geocities.com/ [neighborhood] / [1..9] [0..9] [0..9] [0..9] /
[url-protocol] :// [url-begin] . [acronym] .net/ [url-username] /
[url-protocol] :// [url-begin] . [town-name] .net/ [url-username]
[url-protocol] :// [subdomain-name] . [acronym] .net/ [url-username]
@@ -175,15 +171,9 @@ pragma export-rule [big-tld]
[last-name]
[syllable] [syllable]
-[tld] com
- com
- com
- com
- com
- net
- net
- org
- org
+[tld] <^5> com
+ <^2> net
+ <^2> org
edu
de
ca
@@ -195,8 +185,7 @@ pragma export-rule [big-tld]
se
no
-[big-tld] com
- com
+[big-tld] <^2> com
net
org
@@ -204,7 +193,7 @@ pragma export-rule [big-tld]
[planet]
mail
www2
- www [digit]
+ www [0..9]
alpha
beta
gamma
@@ -217,10 +206,10 @@ pragma export-rule [big-tld]
[email-initial]
[subdomain-name] - [subdomain-name]
-[email-misc]
- [us-stateadj]
+[email-misc] [us-stateadj]
[town-name]
[complete-many-things]
+ [minor-arcana]
[major-arcana]
[trademark+drug]
[trademark]
diff --git a/data/sample-grammars/zadrons-pouch.gram b/data/sample-grammars/zadrons-pouch.gram
index f72cf25..b918f1c 100755
--- a/data/sample-grammars/zadrons-pouch.gram
+++ b/data/sample-grammars/zadrons-pouch.gram
@@ -64,9 +64,7 @@ pragma export-rule [zadrons-item]
imprisoning
messaging
bounty
- [card]
- [card]
- [card]
+ <^3> [card]
[crys-sphere] → crystal of [crystal-type]
[crys-act]