summaryrefslogtreecommitdiff
path: root/RGens
diff options
context:
space:
mode:
authorBenjamin J. Culkin <bjculkin@mix.wvu.edu>2018-05-18 17:48:42 -0300
committerBenjamin J. Culkin <bjculkin@mix.wvu.edu>2018-05-18 17:48:42 -0300
commit9356498bebab9342222cd87be669abae9d7ac3a2 (patch)
tree393ea0b5ee30013c4ee84d2b1c96967a59a1aeb3 /RGens
parentca07d0ec8ec018129cf63080ebdf554a9d9abe82 (diff)
More grammar work
Diffstat (limited to 'RGens')
-rw-r--r--RGens/data/new-sample-grammars/drakensang/armor.gram142
-rw-r--r--RGens/data/new-sample-grammars/drakensang/gems.gram91
-rw-r--r--RGens/data/new-sample-grammars/drakensang/runes.gram29
-rwxr-xr-xRGens/data/sample-grammars/diablo-ii/diabloii.gram23
-rwxr-xr-xRGens/data/sample-grammars/diablo-ii/diabloiiitems.gram7
-rwxr-xr-xRGens/data/sample-grammars/diablo-ii/diabloiiperish.gram3
-rwxr-xr-xRGens/data/sample-grammars/diablo-ii/diabloiiprefixes.gram6
-rwxr-xr-xRGens/data/sample-grammars/diablo-ii/diabloiisuffixes.gram94
-rw-r--r--RGens/data/sample-grammars/dungeondressing/bedroom.gram121
-rw-r--r--RGens/data/sample-grammars/eastern-sun/easternsunsocketing.gram17
-rw-r--r--RGens/data/sample-grammars/gemstones.gram143
-rw-r--r--RGens/data/sample-grammars/long-data/greek-letters.gram26
-rw-r--r--RGens/data/sample-grammars/long-data/japanese-writing.gram107
-rw-r--r--RGens/data/sample-grammars/rtwiki/color.gram8
-rw-r--r--RGens/data/sample-grammars/rtwiki/death-cause.gram6
-rw-r--r--RGens/data/sample-grammars/rtwiki/guns.gram19
-rw-r--r--RGens/todos.txt5
17 files changed, 770 insertions, 77 deletions
diff --git a/RGens/data/new-sample-grammars/drakensang/armor.gram b/RGens/data/new-sample-grammars/drakensang/armor.gram
new file mode 100644
index 0000000..d559761
--- /dev/null
+++ b/RGens/data/new-sample-grammars/drakensang/armor.gram
@@ -0,0 +1,142 @@
+[ds-armor] [spellweaver-armor]
+ [ranger-armor]
+ [dragonknight-armor]
+
+pragma initial-rule [ds-armor]
+
+[dragonknight-armor] [dragonknight-armortype]
+ [dragonknight-armorprefix] [dragonknight-armortype]
+ [dragonknight-armorprefix] [dragonknight-armortype]
+ [dragonknight-armorprefix] [dragonknight-armortype]
+
+[dragonknight-armortype] jackboots
+ cloak
+ gloves
+ pauldrons
+ bandana
+ coat
+ gauntlets
+ cap
+ armor
+ shirt
+ cowl
+ helmet
+ fists
+
+[dragonknight-armorprefix] cloth
+ fur
+ leather
+ hard-leather
+ studded
+ scaled
+ chain
+ chainmail
+ iron
+ steel
+ soldier
+ duria
+ plated
+ winged
+ black steel
+ obsidian steel
+
+[ranger-armor] [ranger-armortype]
+ [ranger-armorprefix] [ranger-armortype]
+ [ranger-armorprefix] [ranger-armortype]
+ [ranger-armorprefix] [ranger-armortype]
+
+[ranger-armortype] shoes
+ shirt
+ hand wraps
+ shoulder guards
+ mask
+ jerkin
+ fingerless gloves
+ cap
+ vest
+ head
+ skull
+ armor
+ bracers
+ pauldrons
+ gloves
+ claws
+ mail
+ mitts
+ jerkin
+
+[ranger-armorprefix] [ranger-armorprefix-1]
+ [ranger-armormaterial]
+ [ranger-armorprefix-combo]
+
+[ranger-armorprefix-prefix] grim
+ fearsome
+ spirit
+ cave
+
+pragma prefix-with [ranger-armorprefix] [ranger-armorprefix-prefix]
+
+[ranger-armorprefix-combo] [ranger-armormaterial] [ranger-armorprefix-1]
+ [ranger-armorprefix-1] [ranger-armormaterial]
+
+[ranger-armorprefix-1] stalkers
+ hunters
+ wolf
+ ramhorn
+ stag
+ bear
+ dragon-brood
+
+[ranger-armormaterial] linen
+ leather
+ wolfskin
+ grimwolf-skin
+ rams hide
+ ram skin
+ buckskin
+ bearskin
+ bearclaw
+ drakescale
+ dragonscale
+ fireleather
+ sunleather
+
+[spellweaver-armor] [spellweaver-armortype]
+ [spellweaver-armorprefix] [spellweaver-armortype]
+ [spellweaver-armorprefix] [spellweaver-armortype]
+ [spellweaver-armorprefix] [spellweaver-armortype]
+
+[spellweaver-armortype] cloak
+ gloves
+ collar
+ shoes
+ coronet
+ cap
+ robes
+ helmet
+ fist
+ mask
+
+[spellweaver-armorprefix] [spellweaver-armorprefix-1]
+ [spellweaver-armormaterial]
+
+[spellweaver-armorprefix-combo] [spellweaver-armormaterial] [spellweaver-armorprefix-1]
+ [spellweaver-armorprefix-1] [spellweaver-armormaterial]
+
+[spellweaver-armorprefix-1] apprentice
+ acolyte
+ travel
+ journeyman
+ spellweaver
+ arkan
+ elemental
+ duria
+ myrdosch magus
+ myrdosch mystic
+ mystic
+
+[spellweaver-armormaterial] linen
+ leather
+ silver
+ silk
+ brocade
diff --git a/RGens/data/new-sample-grammars/drakensang/gems.gram b/RGens/data/new-sample-grammars/drakensang/gems.gram
new file mode 100644
index 0000000..655bdcb
--- /dev/null
+++ b/RGens/data/new-sample-grammars/drakensang/gems.gram
@@ -0,0 +1,91 @@
+[ds-gem] [gem-type]
+ [gem-type]
+ [gem-type] of qaizah
+ [unique-gem]
+
+pragma initial-rule [ds-gem]
+
+[gem-quality] [gem-quality-normal]
+ [gem-quality-normal]
+ [gem-quality-alt]
+
+[gem-quality-normal] flawed
+ splintered
+ simple
+ polished
+ radiant
+ flawless
+ sacred
+ royal
+
+[gem-quality-alt] [gem-quality-alt-1]
+
+[gem-quality-alt-1] lesser
+ cut
+ cruciate
+ astral
+
+[gem-quality-alt-2] lesser
+ small
+ large
+ huge
+
+[gem-adjective] crystal
+ festive
+ solstice
+
+pragma prefix-with [ds-gem] [gem-adjective]
+pragma prefix-with [ds-gem] [gem-quality]
+
+[gem-type] ruby
+ onyx
+ sapphire
+ cyanite
+ diamond
+ amethyst
+ peridot
+
+[gem-category] gem
+ jewel
+ star
+ moon
+ stone
+ snowflake
+ crystal
+ skull
+
+[gem-descr] timeless
+ concentrated
+ fortified
+ powerful
+
+pragma prefix-with [gem-type] [gem-descr]
+pragma suffix-with [gem-type] [gem-category]
+
+[unique-gem] [gem-category] of [unique-trail]
+ [unique-lead] [gem-category]
+ [unique-type]
+ [gem-category] of [unique-trail]
+ [unique-lead] [gem-category]
+ [unique-type]
+ [gem-category]
+
+[unique-trail] insight
+ immunity
+ rage
+ acceleration
+ shadows
+ willpower
+
+[unique-lead] solstice
+ fluorite
+ shadow
+ accelerating
+ equipment fortifying
+
+[unique-type] bloodstone
+ moonstone
+
+pragma prefix-with [unique-type] [gem-descr]
+pragma prefix-with [unique-lead] [gem-descr]
+pragma prefix-with [unique-trail] [gem-descr]
diff --git a/RGens/data/new-sample-grammars/drakensang/runes.gram b/RGens/data/new-sample-grammars/drakensang/runes.gram
new file mode 100644
index 0000000..28c12f0
--- /dev/null
+++ b/RGens/data/new-sample-grammars/drakensang/runes.gram
@@ -0,0 +1,29 @@
+[ds-rune] [rune-type] rune
+ rune of [rune-type]
+
+pragma initial-rule [ds-rune]
+
+[rune-quality] lesser
+ standard
+ mighty
+ supreme
+ grand
+
+pragma prefix-with [ds-rune] [rune-quality]
+
+[rune-type] devestation
+ celerity
+ persistence
+ regeneration
+ vitality
+ vigor
+ relentlessness
+ acceleration
+ fortitude
+ focus
+ resilience
+ materi blessing
+ wisdom seeker
+ vanquisher
+
+pragma prefix-with [rune-type] [rune-quality]
diff --git a/RGens/data/sample-grammars/diablo-ii/diabloii.gram b/RGens/data/sample-grammars/diablo-ii/diabloii.gram
index 2f3041a..411e795 100755
--- a/RGens/data/sample-grammars/diablo-ii/diabloii.gram
+++ b/RGens/data/sample-grammars/diablo-ii/diabloii.gram
@@ -44,9 +44,20 @@ pragma prefix-with [money-type] [metal-type]
gold
platinum
-[item] [d2-item-type]
- [d2-item-type] of [suffix]
- [d2-item-type] of [suffix] and [suffix]
-
-pragma prefix-with [item] [prefix]
-pragma prefix-with [item] [prefix]
+[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]
+ [d2-prefix] [item-types] [d2-suffix]
+
+[item-types] [d2-item-type]
+ [d2-item-type]
+ [ds-items]
+
+[ds-items] [ds-gem]
+ [ds-rune]
+ [ds-armor]
diff --git a/RGens/data/sample-grammars/diablo-ii/diabloiiitems.gram b/RGens/data/sample-grammars/diablo-ii/diabloiiitems.gram
index 8450b97..5fa174b 100755
--- a/RGens/data/sample-grammars/diablo-ii/diabloiiitems.gram
+++ b/RGens/data/sample-grammars/diablo-ii/diabloiiitems.gram
@@ -16,13 +16,6 @@
[gems]
[inscriptions]
[perishables]
- [ds-items]
- [ds-items]
- [ds-items]
-
-[ds-items] [ds-gem]
- [ds-rune]
- [ds-armor]
pragma export-rule [d2-item-type]
diff --git a/RGens/data/sample-grammars/diablo-ii/diabloiiperish.gram b/RGens/data/sample-grammars/diablo-ii/diabloiiperish.gram
index b70919a..af6c9ec 100755
--- a/RGens/data/sample-grammars/diablo-ii/diabloiiperish.gram
+++ b/RGens/data/sample-grammars/diablo-ii/diabloiiperish.gram
@@ -20,6 +20,9 @@ pragma export-rule [perishables]
skull
blood
ribcage
+ viscera
+ flesh
+ claw
[perishable-type] potion
oil
diff --git a/RGens/data/sample-grammars/diablo-ii/diabloiiprefixes.gram b/RGens/data/sample-grammars/diablo-ii/diabloiiprefixes.gram
index 2087352..5157115 100755
--- a/RGens/data/sample-grammars/diablo-ii/diabloiiprefixes.gram
+++ b/RGens/data/sample-grammars/diablo-ii/diabloiiprefixes.gram
@@ -4,6 +4,12 @@
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/RGens/data/sample-grammars/diablo-ii/diabloiisuffixes.gram b/RGens/data/sample-grammars/diablo-ii/diabloiisuffixes.gram
index f737daf..f6deea0 100755
--- a/RGens/data/sample-grammars/diablo-ii/diabloiisuffixes.gram
+++ b/RGens/data/sample-grammars/diablo-ii/diabloiisuffixes.gram
@@ -1,4 +1,16 @@
-[suffix] [damage-reduction]
+[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]
+ [suffix-part] , [suffix-part] and [suffix-part]
+
+pragma export-rule [d2-suffix]
+
+[suffix-part] [damage-reduction]
[defense-effect]
[durability]
[hitpoints]
@@ -20,7 +32,7 @@
[weapon-use]
[spell-casting]
-pragma export-rule [suffix]
+pragma prefix-with [suffix-part] the
[damage-reduction] health
protection
@@ -34,11 +46,11 @@ pragma export-rule [suffix]
[durability] sturdiness
structure
- the ages
+ ages
bonding
unity
-[hitpoints] the [hitpoints-act]
+[hitpoints] [hitpoints-act]
[hitpoints-act] jackal
fox
@@ -55,60 +67,60 @@ pragma export-rule [suffix]
dexterity
magic
strength
- the lynx
+ lynx
zest
skill
- the mind
+ mind
might
- the leopard
+ leopard
vim
accuracy
brilliance
power
- the jaguar
+ jaguar
vigor
precision
sorcery
- the giant
- the tiger
+ giant
+ tiger
life
perfection
wizardry
- the titan
- the lion
- the sky
- the moon
- the stars
- the heavens
- the zodiac
+ titan
+ lion
+ sky
+ moon
+ stars
+ heavens
+ zodiac
[cursed] tears
pain
brittleness
decay
fragility
- the vulture
+ vulture
disease
atrophy
dyslexia
weakness
- the cat
- the pit
+ cat
+ pit
illness
paralysis
draining
frailty
- the rat
+ rat
trouble
pox
corruption
infection
ruin
- the exposed
+ exposed
discord
- the night
- the dark
- the void
+ night
+ dark
+ void
passivity
snail
fool
@@ -117,13 +129,13 @@ pragma export-rule [suffix]
regrowth
[memorization] warding
- the sentinel
+ sentinel
guarding
negation
osmosis
-[combat-action] the apprentice
- the magus
+[combat-action] apprentice
+ magus
balance
stability
harmony
@@ -135,9 +147,9 @@ pragma export-rule [suffix]
[light-source] light
radiance
- the sun
+ sun
-[hazard-reduction] the thief
+[hazard-reduction] thief
warmth
remedy
amelioration
@@ -150,7 +162,7 @@ pragma export-rule [suffix]
slaying
gore
devastation
- the jester
+ jester
carnage
slaughter
@@ -174,24 +186,24 @@ pragma export-rule [suffix]
fire
lightning
venom
- the glacier
+ glacier
burning
thunder
pestilence
vileness
- the crusaders
+ crusaders
destruction
peril
- the bear
- the grizzly
+ bear
+ grizzly
-[attack-restore] the leech
- the claw
- the bat
+[attack-restore] leech
+ claw
+ bat
blood
- the talon
- the vampire
- the lamprey
+ talon
+ vampire
+ lamprey
[item-damage] piercing
breaking
diff --git a/RGens/data/sample-grammars/dungeondressing/bedroom.gram b/RGens/data/sample-grammars/dungeondressing/bedroom.gram
index c1345d5..8bb9449 100644
--- a/RGens/data/sample-grammars/dungeondressing/bedroom.gram
+++ b/RGens/data/sample-grammars/dungeondressing/bedroom.gram
@@ -1,4 +1,4 @@
-[bedroom] you enter the [bedroom-type] and see a [bedroom-bed] with a [bedroom-person] [bedroom-lying]
+[bedroom] you enter the [bedroom-type] and see a(n) [bedroom-bed] with a(n) [bedroom-person] [bedroom-lying]
pragma initial-rule [bedroom]
@@ -26,14 +26,15 @@ pragma initial-rule [bedroom]
tropical rope hammock
altar
-pragma prefix-with [bedroom-bed] [unholy]
pragma prefix-with [bedroom-bed] [bed-prefix]
+pragma prefix-with [bedroom-bed] [sacred-type]
[bed-prefix] ruined
ancient
legendary
+ pristine
-[unholy] unholy
+[sacred-type] unholy
holy
blessed
dammed
@@ -42,8 +43,11 @@ pragma prefix-with [bedroom-bed] [bed-prefix]
hallowed
unhallowed
sacred
+ infernal
+ angelic
-[bedroom-person] pile of [bone-status] bones
+[bedroom-person] [bed-bones]
+ [bed-bones]
jug of moonshine
[bed-aliveperson]
[bed-aliveperson]
@@ -60,6 +64,7 @@ pragma prefix-with [bedroom-bed] [bed-prefix]
draped atop it
prostrated before it
[tied] to it
+ [tied] to it
trapped in it
[bed-aliveperson] [bed-arist]
@@ -67,9 +72,17 @@ pragma prefix-with [bedroom-bed] [bed-prefix]
[bed-prost]
[bed-slave]
[humanoid]
- [creature]
+ [bed-inhuman]
+
+[bed-inhuman] [creature]
+ [monster]
+ [creature-epic]
pragma prefix-with [bed-aliveperson] [bed-status]
+pragma prefix-with [bed-aliveperson] [bed-name]
+
+[bed-name] [full-name] , a(n)
+ [fantasy-name] , a(n)
[bed-status] [bed-status1]
[bed-status2]
@@ -86,27 +99,63 @@ pragma prefix-with [bed-aliveperson] [bed-status]
[status-alive] unconcious
sleeping
normal
+ fainted
[bed-status2] bleeding
badly wounded
uninjured
pale
burnt
+ trembling
+ scared
+ aroused
[tied] chained
tied
bound
+ secured
+ fastened
+ handcuffed
+ roped
+ shackled
[onin] on
in
-[bed-bones] pile of [bone-status] [bones]
- pile of [bone-status] [part-human] [bones]
+[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]
+ [blood-puddle]
+
+[pile] pair
+ couple
+ group
+ pile
+ hoard
+ collection
+ set
+
+[blood-puddle] puddle of blood
+ puddle of [part-human] blood
[bones] bones
flesh
viscera
skulls
+ claws
+ hearts
+ brains
+ jawbones
+ eyes
+ ears
+ horns
+ tails
+ fangs
+ quills
+ scalps
+ spleens
+ souls
[bone-status] clean
old
@@ -114,10 +163,13 @@ pragma prefix-with [bed-aliveperson] [bed-status]
moldy
dusty
bloody
+ ancient
+
+[bed-arist] [aristocrat]
+ [part-human] [aristocrat]
+ [part-human]
-[bed-arist] kidnapped [aristocrat]
- kidnapped [part-human] [aristocrat]
- kidnapped [part-human]
+pragma prefix-with [bed-arist] kidnapped
[aristocrat] aristocrat
prince
@@ -126,24 +178,41 @@ pragma prefix-with [bed-aliveperson] [bed-status]
queen
mercenary
merchant
+ [generic-title]
-[bed-doll] sex doll
- sex doll of a [part-human]
+[bed-doll] [doll]
+ [doll] of a [part-human]
+[doll] doll
+ mannequin
+ puppet
+
+pragma prefix-with [bed-doll] [sex]
pragma prefix-with [bed-doll] [realism]
+[sex] sex
+ sexy
+
[realism] realistic
unrealistic
- [beauty]
+ [realism-beauty]
+
+[realism-beauty] [beauty]
+ unrealistic [beauty]
+ realistic [beauty]
[beauty] beautiful
pretty
cute
+ attractive
+ normal
ugly
+ unattractive
pragma prefix-with [realism] creepily
[bed-prost] prostitute
+ wench
pragma prefix-with [bed-prost] [part-human]
@@ -155,18 +224,32 @@ pragma prefix-with [bed-slave] [part-human]
[bed-gender] male
female
-[part-human] [part-human1]
+[part-human] [humanoids]
+ [part-human2]
pragma prefix-with [part-human] [bed-gender]
-[part-human1] [humanoid]
- [half-human]
+[part-human2] [half-humans]
+ [quarter-humans]
+
+[half-humans] [half-human]
[half-human] , [half-human]
- [quarter-human]
-[half-human] half- [humanoid]
+[quarter-humans] [quarter-human]
+ [quarter-human] , [half-human]
+ [quarter-human] , [quarter-human]
+ [quarter-human] , [quarter-human] , [quarter-human]
+ [quarter-human] , [quarter-human] , [quarter-human] , [quarter-human]
+
+[half-human] half- [humanoids]
-[quarter-human] quarter- [humanoid]
+[quarter-human] quarter- [humanoids]
+
+[humanoids] [humanoid]
+ [humanoid]
+ [humanoid]
+ [humanoid]
+ [bed-inhuman]
pragma despace-rule [half-human]
pragma despace-rule [quarter-human]
diff --git a/RGens/data/sample-grammars/eastern-sun/easternsunsocketing.gram b/RGens/data/sample-grammars/eastern-sun/easternsunsocketing.gram
new file mode 100644
index 0000000..3585220
--- /dev/null
+++ b/RGens/data/sample-grammars/eastern-sun/easternsunsocketing.gram
@@ -0,0 +1,17 @@
+[es-socketable] [es-gem]
+ [es-gem]
+ [es-rune]
+
+[gem-quality] chipped
+ flawed
+ blemished
+ flawless
+ extraordinary
+ perfect
+
+[es-gem] [gem-1
+ [gem-1]
+ [gem-2]
+ [gem-2]
+ [gem-quality] [gem-1]
+ [gem-quality] [gem-1]
diff --git a/RGens/data/sample-grammars/gemstones.gram b/RGens/data/sample-grammars/gemstones.gram
new file mode 100644
index 0000000..8f8a579
--- /dev/null
+++ b/RGens/data/sample-grammars/gemstones.gram
@@ -0,0 +1,143 @@
+[gemstones] [gemstone]
+ [gemstone]
+ [gemstone]
+ [gemstone-group]
+
+[gemstone-group] pair of [gemstone]
+ [gemstone-sizedesc] pile of [gemstone]
+ [gemstone-sizedesc] hoard of [gemstone]
+
+pragma initial-rule [gemstones]
+pragma suffix-with [gemstones] jewels
+
+[gemstone] [gemstone-1]
+ [gemstone-1]
+ [gemstone-1]
+ [gemstone-1]
+ [ds-gem]
+
+[gemstone-1] [common-gem]
+ [rare-gem]
+ [legendary-gem]
+ [epic-gem]
+
+pragma export-rule [gemstone]
+
+[gemstone-sizedesc] [size]
+ [gemstone-desc]
+ [size] [gemstone-desc]
+ [gemstone-desc] [size]
+
+pragma prefix-with [gemstone] [gemstone-sizedesc]
+
+[size] tiny
+ miniscule
+ small
+ medium
+ large
+ huge
+ titanic
+
+[gemstone-desc] flawless
+ flawed
+ cracked
+ faceted
+ cut
+ uncut
+ fake
+
+[common-gem] amber
+ amethyst
+ garnet
+ moonstone
+ jade
+ pearl
+ peridot
+ turquoise
+ [quote-raregem] of poor [extra-deficit]
+
+pragma export-rule [common-gem]
+
+[rare-gem] alexandrite
+ aquamarine
+ black pearl
+ topaz
+ [rare-gem-misc]
+
+[rare-gem-misc] [quote-commongem] of extraordinary [extra-quality]
+ [quote-commongem] and [quote-commongem]
+ [quote-commongem] mixed with [quote-commongem]
+ [quote-commongem] and [quote-commongem] fused together
+ [quote-legendarygem] of poor [extra-deficit]
+
+[extra-deficit] [extra-qualities]
+ [extra-qualities]
+ [extra-qualities]
+ [extra-qualities]
+ [extra-qualities] but excellent [extra-qualities]
+
+[extra-quality] [extra-qualities]
+ [extra-qualities]
+ [extra-qualities]
+ [extra-qualities]
+ [extra-qualities] but poor [extra-qualities]
+
+[extra-qualities] [extra-quality-part]
+ [extra-quality-part]
+ [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-part] , [extra-quality-part] and [extra-quality-part]
+
+[extra-quality-part] size
+ color
+ cut
+ quality
+ clarity
+ brilliance
+
+[quote-commongem] ( [common-gem] )
+
+pragma despace-rule [quote-commongem]
+pragma export-rule [rare-gem]
+
+[legendary-gem] emerald
+ fire opal
+ sapphire
+ [legendary-gem-misc]
+
+[legendary-gem-misc] [quote-raregem] of extraordinary [extra-quality]
+ [quote-raregem] and [quote-raregem]
+ [quote-raregem] mixed with [quote-raregem]
+ [quote-raregem] and [quote-raregem] fused together
+ [quote-epicgem] of poor [extra-deficit]
+
+[quote-raregem] ( [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]
+ [ds-gem]
+
+[epic-gem-1] diamond
+ jacinth
+ ruby
+ [epic-gem-misc]
+
+[epic-gem-misc] [quote-legendarygem] of extraordinary [extra-quality]
+ [quote-legendarygem] and [quote-legendarygem]
+ [quote-legendarygem] mixed with [quote-legendarygem]
+ [quote-legendarygem] and [quote-legendarygem] fused together
+
+[quote-legendarygem] ( [legendary-gem] )
+
+[quote-epicgem] ( [epic-gem] )
+
+pragma despace-rule [quote-legendarygem]
+pragma export-rule [epic-gem]
diff --git a/RGens/data/sample-grammars/long-data/greek-letters.gram b/RGens/data/sample-grammars/long-data/greek-letters.gram
new file mode 100644
index 0000000..5976bd1
--- /dev/null
+++ b/RGens/data/sample-grammars/long-data/greek-letters.gram
@@ -0,0 +1,26 @@
+[greek-letter] alpha
+ beta
+ gamma
+ delta
+ epsilon
+ zeta
+ eta
+ theta
+ iota
+ kappa
+ lambda
+ mu
+ nu
+ xi
+ omicron
+ pi
+ rho
+ sigma
+ tau
+ upsilon
+ phi
+ chi
+ psi
+ omega
+
+pragma initial-rule [greek-letter]
diff --git a/RGens/data/sample-grammars/long-data/japanese-writing.gram b/RGens/data/sample-grammars/long-data/japanese-writing.gram
new file mode 100644
index 0000000..f18c6bc
--- /dev/null
+++ b/RGens/data/sample-grammars/long-data/japanese-writing.gram
@@ -0,0 +1,107 @@
+[japanese-syll] a
+ i
+ u
+ e
+ o
+ ka
+ ki
+ ku
+ ke
+ ko
+ sa
+ shi
+ su
+ se
+ so
+ ta
+ chi
+ tsu
+ te
+ to
+ na
+ ni
+ nu
+ ne
+ no
+ ha
+ hi
+ fu
+ he
+ ho
+ ma
+ mi
+ mu
+ me
+ mo
+ ya
+ yu
+ yo
+ ra
+ ri
+ ru
+ re
+ ro
+ wa
+ wi
+ we
+ wo
+ ga
+ gi
+ gu
+ ge
+ go
+ za
+ ji
+ zu
+ ze
+ zo
+ da
+ zu
+ de
+ do
+ ba
+ bi
+ bu
+ be
+ bo
+ pa
+ pi
+ pu
+ pe
+ po
+
+[japanese-yoon] kya
+ kyu
+ kyo
+ sha
+ shu
+ sho
+ cha
+ chu
+ cho
+ nya
+ nyu
+ nyo
+ hya
+ hyu
+ hyo
+ mya
+ myu
+ myo
+ rya
+ ryu
+ ryo
+ gya
+ gyu
+ gyo
+ ja
+ ju
+ jo
+ bya
+ byu
+ byo
+ pya
+ pyu
+ pyo
+
+pragma initial-rule [japanese-syll]
diff --git a/RGens/data/sample-grammars/rtwiki/color.gram b/RGens/data/sample-grammars/rtwiki/color.gram
index d6c5402..346f73b 100644
--- a/RGens/data/sample-grammars/rtwiki/color.gram
+++ b/RGens/data/sample-grammars/rtwiki/color.gram
@@ -1,8 +1,10 @@
[color-phrases] [color-phrase]
- [color-phrase] blended with [color-phrase]
+ [multi-color-phrases]
+
+[multi-color-phrases] [color-phrase] blended with [color-phrase]
a blend between [color-phrase] , [color-phrase] and [color-phrase]
- between [color-phrase] and [color-phrase]
- between [color-phrase] , [color-phrase] and [color-phrase]
+ something between [color-phrase] and [color-phrase]
+ something between [color-phrase] , [color-phrase] and [color-phrase]
pragma initial-rule [color-phrases]
diff --git a/RGens/data/sample-grammars/rtwiki/death-cause.gram b/RGens/data/sample-grammars/rtwiki/death-cause.gram
index 627a3ee..74e58e8 100644
--- a/RGens/data/sample-grammars/rtwiki/death-cause.gram
+++ b/RGens/data/sample-grammars/rtwiki/death-cause.gram
@@ -99,4 +99,10 @@
by crucifixion
by act of god
+[Monster/Animals] {{empty}}
+
+[Character/Torture] {{empty}}
+
+[Character/Deaths] {{empty}}
+
pragma export-rule [death-cause]
diff --git a/RGens/data/sample-grammars/rtwiki/guns.gram b/RGens/data/sample-grammars/rtwiki/guns.gram
index 139e349..269aa0d 100644
--- a/RGens/data/sample-grammars/rtwiki/guns.gram
+++ b/RGens/data/sample-grammars/rtwiki/guns.gram
@@ -1,5 +1,24 @@
+[gun-phrase] [quote-gunname] was released today
+ [quote-gunname] vs. [quote-gunname] shootout
+ [quote-guncorp] is going out of business
+ [quote-guncorp] was bought by [quote-guncorp]
+
+[quote-gunname] ( [gun-name] )
+
+[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]
+ [2gun-name1] [1gun-name] [2gun-name2]
pragma prefix-with [gun-name] [2gun-name1]
diff --git a/RGens/todos.txt b/RGens/todos.txt
index e7cc9bd..e4e39cd 100644
--- a/RGens/todos.txt
+++ b/RGens/todos.txt
@@ -48,6 +48,9 @@
Add a generalized form of despace-rule that allows inserting arbitray
text between rule bits. Maybe call it 'intersperse-rule'?
-@TOD 5/10/18 Ben Culkin :RuleInclusion
+@TODO 5/10/18 Ben Culkin :RuleInclusion
Add some way to sort of 'import' a rules body into another rule so as to
not throw off probability by splitting.
+
+@TODO 5/18/18 Ben Culkin :PragmaErrors
+ Give better error messages for malformed pragmas