summaryrefslogtreecommitdiff
path: root/RGens
diff options
context:
space:
mode:
Diffstat (limited to 'RGens')
-rwxr-xr-x[-rw-r--r--]RGens/.classpath0
-rwxr-xr-x[-rw-r--r--]RGens/.gitignore0
-rwxr-xr-x[-rw-r--r--]RGens/.project0
-rwxr-xr-x[-rw-r--r--]RGens/.settings/org.eclipse.core.resources.prefs0
-rwxr-xr-x[-rw-r--r--]RGens/.settings/org.eclipse.jdt.core.prefs0
-rwxr-xr-x[-rw-r--r--]RGens/.settings/org.eclipse.m2e.core.prefs0
-rwxr-xr-x[-rw-r--r--]RGens/REPORT.md0
-rwxr-xr-x[-rw-r--r--]RGens/data/misc/700000items.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/misc/nimble.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/new-sample-grammars/cbs.gram0
-rwxr-xr-xRGens/data/new-sample-grammars/drakensang/armor.gram142
-rwxr-xr-xRGens/data/new-sample-grammars/drakensang/gems.gram91
-rwxr-xr-xRGens/data/new-sample-grammars/drakensang/runes.gram29
-rwxr-xr-x[-rw-r--r--]RGens/data/new-sample-grammars/repinsult.gram13
-rwxr-xr-x[-rw-r--r--]RGens/data/rpg-tools-cd/wands.gram0
-rwxr-xr-xRGens/data/sample-grammars/24hr-rpg.gram8
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/acronym.gram20
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/address.gram38
-rwxr-xr-xRGens/data/sample-grammars/anime.gram20
-rwxr-xr-xRGens/data/sample-grammars/art-objects.gram85
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/buzzword.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/career.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/city.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/college.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/company.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/computer.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/congress.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/dates.gram0
-rwxr-xr-xRGens/data/sample-grammars/diablo-ii/diabloii.gram46
-rwxr-xr-xRGens/data/sample-grammars/diablo-ii/diabloiiitems.gram16
-rwxr-xr-xRGens/data/sample-grammars/diablo-ii/diabloiiperish.gram25
-rwxr-xr-xRGens/data/sample-grammars/diablo-ii/diabloiiprefixes.gram10
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/dungeondressing/abandoned.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/dungeondressing/bedroom.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/dungeondressing/dragonencounter.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/dungeondressing/kitchen.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/dungeondressing/monster.gram0
-rwxr-xr-xRGens/data/sample-grammars/eastern-sun/easternsunsocketing.gram17
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/elementals.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/fortune.gram0
-rwxr-xr-xRGens/data/sample-grammars/gemstones.gram143
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/horror.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/insults.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/linux.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/long-data/animal.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/long-data/canada-province.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/long-data/cards.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/long-data/color.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/long-data/first-name-female.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/long-data/first-name-male.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/long-data/geographic-thing.gram0
-rwxr-xr-xRGens/data/sample-grammars/long-data/greek-letters.gram26
-rwxr-xr-xRGens/data/sample-grammars/long-data/japanese-writing.gram107
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/long-data/last-name.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/long-data/letters.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/long-data/nation.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/long-data/numbers.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/long-data/planet.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/long-data/real-city.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/long-data/real-company.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/long-data/relative.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/long-data/roman-numeral.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/long-data/syllables.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/long-data/town-name.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/long-data/tree.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/media.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/mission.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/names.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/newspaper.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/numbers.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/ordinal.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/organization.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/phone-number.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/president.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/rtwiki/adjective.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/rtwiki/bodyparts.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/rtwiki/class.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/rtwiki/color.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/rtwiki/creature.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/rtwiki/death-cause.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/rtwiki/fantasy-name.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/rtwiki/favorite.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/rtwiki/guns.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/rtwiki/item.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/rtwiki/traits.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/school.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/slashdot.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/states.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/theory.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/trademark.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/vaultsofnagoh/turboghoul-hats.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/sample-grammars/web.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/seniordesign/dbdata.gram0
-rwxr-xr-x[-rw-r--r--]RGens/data/server-config-sample.cfg18
-rwxr-xr-xRGens/data/tags6
-rwxr-xr-x[-rw-r--r--]RGens/data/todos.txt4
-rwxr-xr-xRGens/dotest.sh5
-rwxr-xr-x[-rw-r--r--]RGens/pom.xml0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/.DS_Storebin6148 -> 6148 bytes
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/.DS_Storebin6148 -> 6148 bytes
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/ZadronsPouch.java0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/parser/GrammarException.java0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/parser/RGrammar.java0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/parser/RGrammarBuilder.java0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/parser/RGrammarFormatter.java0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/parser/RGrammarParser.java0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/parser/RGrammarSet.java0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/parser/RGrammarTest.java0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/parser/RGrammars.java0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/parser/RegexRuleCase.java0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/parser/Rule.java0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/parser/RuleCase.java0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/parser/elements/BlankCaseElement.java0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/parser/elements/CaseElement.java0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/parser/elements/LitVariableCaseElement.java0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/parser/elements/LiteralCaseElement.java0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/parser/elements/RangeCaseElement.java0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/parser/elements/StringCaseElement.java0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/parser/elements/VariableCaseElement.java0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/parser/new-syntax.txt0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/text/markov/Markov.java0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/text/markov/StandaloneMarkov.java0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/text/markov/StandaloneTextGenerator.java0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/java/bjc/rgens/text/markov/TextGenerator.java0
-rwxr-xr-x[-rw-r--r--]RGens/src/main/sql/db_schema.sql0
-rwxr-xr-xRGens/src/main/sql/db_schema.sql.orig15
-rwxr-xr-xRGens/tags218
-rwxr-xr-x[-rw-r--r--]RGens/todos.txt8
130 files changed, 976 insertions, 134 deletions
diff --git a/RGens/.classpath b/RGens/.classpath
index 7d5ca02..7d5ca02 100644..100755
--- a/RGens/.classpath
+++ b/RGens/.classpath
diff --git a/RGens/.gitignore b/RGens/.gitignore
index 262500a..262500a 100644..100755
--- a/RGens/.gitignore
+++ b/RGens/.gitignore
diff --git a/RGens/.project b/RGens/.project
index 28c0e93..28c0e93 100644..100755
--- a/RGens/.project
+++ b/RGens/.project
diff --git a/RGens/.settings/org.eclipse.core.resources.prefs b/RGens/.settings/org.eclipse.core.resources.prefs
index 382b70b..382b70b 100644..100755
--- a/RGens/.settings/org.eclipse.core.resources.prefs
+++ b/RGens/.settings/org.eclipse.core.resources.prefs
diff --git a/RGens/.settings/org.eclipse.jdt.core.prefs b/RGens/.settings/org.eclipse.jdt.core.prefs
index 672496e..672496e 100644..100755
--- a/RGens/.settings/org.eclipse.jdt.core.prefs
+++ b/RGens/.settings/org.eclipse.jdt.core.prefs
diff --git a/RGens/.settings/org.eclipse.m2e.core.prefs b/RGens/.settings/org.eclipse.m2e.core.prefs
index f897a7f..f897a7f 100644..100755
--- a/RGens/.settings/org.eclipse.m2e.core.prefs
+++ b/RGens/.settings/org.eclipse.m2e.core.prefs
diff --git a/RGens/REPORT.md b/RGens/REPORT.md
index d1c1a7e..d1c1a7e 100644..100755
--- a/RGens/REPORT.md
+++ b/RGens/REPORT.md
diff --git a/RGens/data/misc/700000items.gram b/RGens/data/misc/700000items.gram
index 4158dcb..4158dcb 100644..100755
--- a/RGens/data/misc/700000items.gram
+++ b/RGens/data/misc/700000items.gram
diff --git a/RGens/data/misc/nimble.gram b/RGens/data/misc/nimble.gram
index 3567777..3567777 100644..100755
--- a/RGens/data/misc/nimble.gram
+++ b/RGens/data/misc/nimble.gram
diff --git a/RGens/data/new-sample-grammars/cbs.gram b/RGens/data/new-sample-grammars/cbs.gram
index 8d05dd1..8d05dd1 100644..100755
--- a/RGens/data/new-sample-grammars/cbs.gram
+++ b/RGens/data/new-sample-grammars/cbs.gram
diff --git a/RGens/data/new-sample-grammars/drakensang/armor.gram b/RGens/data/new-sample-grammars/drakensang/armor.gram
new file mode 100755
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 100755
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 100755
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/new-sample-grammars/repinsult.gram b/RGens/data/new-sample-grammars/repinsult.gram
index ab63fb9..30ac89d 100644..100755
--- a/RGens/data/new-sample-grammars/repinsult.gram
+++ b/RGens/data/new-sample-grammars/repinsult.gram
@@ -1,6 +1,11 @@
-[rep-insult] [brag-verb] [rude-phrase] [rude-scapegoat]
+[rep-insult] [rude-scapegoat]
-[brag-verb] → abolish
+pragma prefix-with [rep-insult] [rude-phrase]
+pragma prefix-with [rep-insult] [brag-verb]
+
+pragma initial-rule [rep-insult]
+
+[brag-verb] abolish
ban
bash
beat
@@ -23,7 +28,7 @@
steam-roller
wipe
-[rude-adj] → AIDS-infested
+[rude-phrase] AIDS-infested
America-hating
Arab
ass-pounding
@@ -85,7 +90,7 @@
whining
wimpoid
-[rude-noun] → alien
+[rude-scapegoat] alien
America-hater
animal
Arab
diff --git a/RGens/data/rpg-tools-cd/wands.gram b/RGens/data/rpg-tools-cd/wands.gram
index 2bf7cd8..2bf7cd8 100644..100755
--- a/RGens/data/rpg-tools-cd/wands.gram
+++ b/RGens/data/rpg-tools-cd/wands.gram
diff --git a/RGens/data/sample-grammars/24hr-rpg.gram b/RGens/data/sample-grammars/24hr-rpg.gram
index 1ac7c71..dcfc21d 100755
--- a/RGens/data/sample-grammars/24hr-rpg.gram
+++ b/RGens/data/sample-grammars/24hr-rpg.gram
@@ -5,7 +5,15 @@
[rpg-part] : [rpg-part] the [rpg-part]
[rpg-part] : [rpg-part] [rpg-part]
+[rpg-name-phrase] [quote-rpg-name] was just released
+ [quote-rpg-name] vs [quote-rpg-name] : which is better?
+ [quote-rpg-name] : will it live up to the hype?
+ [quote-rpg-name] released its [ordinal] edition today
+
+[quote-rpg-name] ( [rpg-name] )
+
pragma initial-rule [rpg-name]
+pragma export-rule [rpg-name-phrase]
[rpg-part] → tits
teeth
diff --git a/RGens/data/sample-grammars/acronym.gram b/RGens/data/sample-grammars/acronym.gram
index 6d260f4..52d88ad 100644..100755
--- a/RGens/data/sample-grammars/acronym.gram
+++ b/RGens/data/sample-grammars/acronym.gram
@@ -1,9 +1,25 @@
-[acronym] [actual+acronym]
+[acronym] [acronym-part]
+ [acronym-part]
+ [acronym-part]
+ [acronym-part]
+ [acronym-phrase]
pragma initial-rule [acronym]
-[actual+acronym] [consonant] [vowel] [consonant]
+pragma despace-rule [acronym]
+
+[acronym-phrase] [acronym-part] / [acronym-part]
+ [acronym-part] - [acronym-part]
+
+[acronym-part] [join-acronym]
+ [dot-acronym]
+
+[join-acronym] [consonant] [vowel] [consonant]
[consonant-group] [consonant] [consonant]
[consonant] [consonant] [consonant] [consonant]
[consonant] [vowel] [consonant] [vowel]
[letter] [vowel-group] [letter] [consonant]
+
+[dot-acronym] [consonant] . [vowel] . [consonant]
+ [consonant] . [consonant] . [consonant] . [consonant]
+ [consonant] . [vowel] . [consonant] . [vowel]
diff --git a/RGens/data/sample-grammars/address.gram b/RGens/data/sample-grammars/address.gram
index de798ee..d2d5eef 100644..100755
--- a/RGens/data/sample-grammars/address.gram
+++ b/RGens/data/sample-grammars/address.gram
@@ -1,25 +1,40 @@
-[us-postal-address] [us-postal-address1]
- [us-postal-address1]
- [us-postal-address1]
- [us-postal-address1]
- [company]
+[us-postal-address] [street-address]
pragma initial-rule [us-postal-address]
-[com-street-address] , [street-address]
+[address-prefix] [address-prefix-body] ,
-[city-post-zip] , [city] , [us-postalstate] [zipcode]
+[address-prefix-suffix] mail at
+ contact at
+ visit us at
+ located at
-pragma suffix-with [us-postal-address] [com-street-address]
-pragma suffix-with [us-postal-address] [city-post-zip]
+pragma suffix-with [address-prefix] [address-prefix-suffix]
-[us-postal-address1] [full-name]
+[address-prefix-prefix] [full-name]
[full-name-and-title]
[person]
+[address-prefix-body] [address-prefix-prefix]
+ [address-prefix-prefix]
+ [company]
+
+[city-post-zip] , [city] , [us-postalstate] [zipcode]
+
+pragma prefix-with [us-postal-address] [address-prefix]
+pragma suffix-with [us-postal-address] [city-post-zip]
+
[com-company] , [company]
+ , [work-type] [company]
+
+[work-type] works for
+ works at
+ works with
+ contractor for
+ president of
+ interning at
-pragma suffix-with [us-postal-address1] [com-company]
+pragma suffix-with [address-prefix-prefix] [com-company]
[street-address] [medium-number] [street]
p.o. box [medium-number]
@@ -56,6 +71,7 @@ pragma suffix-with [street] [street-suffix]
s.
e.
w.
+ [cardinal]
[street-suffix] street
st.
diff --git a/RGens/data/sample-grammars/anime.gram b/RGens/data/sample-grammars/anime.gram
index eabbade..85cc7db 100755
--- a/RGens/data/sample-grammars/anime.gram
+++ b/RGens/data/sample-grammars/anime.gram
@@ -1,16 +1,22 @@
-[anime-name] [first-name]
+[anime-name] [short-anime-name]
+ [short-anime-name]
+ [long-anime-name]
+
+[short-anime-name] [first-name]
[second-name]
[third-name]
+[long-anime-name] [short-anime-name]
+
pragma initial-rule [anime-name]
-pragma suffix-with [anime-name] [first-name]
-pragma suffix-with [anime-name] [second-name]
-pragma suffix-with [anime-name] [third-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 prefix-with [anime-name] [third-name]
-pragma prefix-with [anime-name] [second-name]
-pragma prefix-with [anime-name] [first-name]
+pragma prefix-with [long-anime-name] [third-name]
+pragma prefix-with [long-anime-name] [second-name]
+pragma prefix-with [long-anime-name] [first-name]
[first-name] Vampire
Cat
diff --git a/RGens/data/sample-grammars/art-objects.gram b/RGens/data/sample-grammars/art-objects.gram
index 1338470..c824958 100755
--- a/RGens/data/sample-grammars/art-objects.gram
+++ b/RGens/data/sample-grammars/art-objects.gram
@@ -15,13 +15,19 @@ pragma initial-rule [art-treasure-group]
pragma despace-rule [quote-treasure]
-[art-treasure] [gemstones]
- [art-object]
+[art-treasure] [unowned-art-treasure]
+ [unowned-art-treasure]
+ [unowned-art-treasure]
+ [unowned-art-treasure]
+ [owned-art-treasure]
pragma export-rule [art-treasure]
+pragma prefix-with [art-treasure] a(n)
-pragma prefix-with [art-treasure] [possesive-title]
-pragma prefix-with [art-treasure-group] a(n)
+[unowned-art-treasure] [gemstones]
+ [art-objects]
+
+[owned-art-treasure] [possesive-title] [unowned-art-treasure]
[possesive-title] [full-name-and-title] 's
@@ -29,6 +35,7 @@ pragma prefix-with [art-treasure-group] a(n)
pragma export-rule [art-objects]
pragma prefix-with [art-objects] [art-object-pref]
+pragma prefix-with [art-objects] [size]
[art-object-pref] counterfeit
ancient
@@ -47,28 +54,6 @@ pragma prefix-with [art-objects] [art-object-pref]
[mythic-art]
pragma export-rule [art-object]
-pragma prefix-with [art-object] [size]
-
-[gemstones] [gemstone]
- pair of [gemstone]
- [gemstone-sizedesc] pile of [gemstone]
- [gemstone-sizedesc] hoard of [gemstone]
-
-pragma export-rule [gemstones]
-
-[gemstone] [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
@@ -78,54 +63,6 @@ pragma prefix-with [gemstone] [gemstone-sizedesc]
huge
titanic
-[gemstone-desc] flawless
- flawed
- cracked
- faceted
- cut
- uncut
- fake
-
-[common-gem] amber
- amethyst
- garnet
- moonstone
- jade
- pearl
- peridot
- turquoise
-
-[rare-gem] alexandrite
- aquamarine
- black pearl
- topaz
- [quote-commongem] and [quote-commongem]
- [quote-commongem] and [quote-commongem] fused together
-
-[quote-commongem] ( [common-gem] )
-
-pragma despace-rule [quote-commongem]
-
-[legendary-gem] emerald
- fire opal
- sapphire
- [quote-raregem] and [quote-raregem]
- [quote-raregem] and [quote-raregem] fused together
-
-[quote-raregem] ( [rare-gem] )
-
-pragma despace-rule [quote-raregem]
-
-[epic-gem] diamond
- jacinth
- ruby
- [quote-epicgem] and [quote-epicgem]
- [quote-epicgem] and [quote-epicgem] fused together
-
-[quote-epicgem] ( [epic-gem] )
-
-pragma despace-rule [quote-epicgem]
-
[common-art] [common-goldring]
[statuette-mat] statuette
gold bracelet
diff --git a/RGens/data/sample-grammars/buzzword.gram b/RGens/data/sample-grammars/buzzword.gram
index d25331f..d25331f 100644..100755
--- a/RGens/data/sample-grammars/buzzword.gram
+++ b/RGens/data/sample-grammars/buzzword.gram
diff --git a/RGens/data/sample-grammars/career.gram b/RGens/data/sample-grammars/career.gram
index 63142f5..63142f5 100644..100755
--- a/RGens/data/sample-grammars/career.gram
+++ b/RGens/data/sample-grammars/career.gram
diff --git a/RGens/data/sample-grammars/city.gram b/RGens/data/sample-grammars/city.gram
index b344d3b..b344d3b 100644..100755
--- a/RGens/data/sample-grammars/city.gram
+++ b/RGens/data/sample-grammars/city.gram
diff --git a/RGens/data/sample-grammars/college.gram b/RGens/data/sample-grammars/college.gram
index 33b45e3..33b45e3 100644..100755
--- a/RGens/data/sample-grammars/college.gram
+++ b/RGens/data/sample-grammars/college.gram
diff --git a/RGens/data/sample-grammars/company.gram b/RGens/data/sample-grammars/company.gram
index 40ea83b..40ea83b 100644..100755
--- a/RGens/data/sample-grammars/company.gram
+++ b/RGens/data/sample-grammars/company.gram
diff --git a/RGens/data/sample-grammars/computer.gram b/RGens/data/sample-grammars/computer.gram
index a3a7814..a3a7814 100644..100755
--- a/RGens/data/sample-grammars/computer.gram
+++ b/RGens/data/sample-grammars/computer.gram
diff --git a/RGens/data/sample-grammars/congress.gram b/RGens/data/sample-grammars/congress.gram
index cffe469..cffe469 100644..100755
--- a/RGens/data/sample-grammars/congress.gram
+++ b/RGens/data/sample-grammars/congress.gram
diff --git a/RGens/data/sample-grammars/dates.gram b/RGens/data/sample-grammars/dates.gram
index 1ed0daa..1ed0daa 100644..100755
--- a/RGens/data/sample-grammars/dates.gram
+++ b/RGens/data/sample-grammars/dates.gram
diff --git a/RGens/data/sample-grammars/diablo-ii/diabloii.gram b/RGens/data/sample-grammars/diablo-ii/diabloii.gram
index f921c0a..2f3041a 100755
--- a/RGens/data/sample-grammars/diablo-ii/diabloii.gram
+++ b/RGens/data/sample-grammars/diablo-ii/diabloii.gram
@@ -1,8 +1,8 @@
[base-treasures] [base-treasure]
- [quote-treasure] as well as [quote-treasure]
- [quote-treasure] or [quote-treasure]
- [quote-treasure] , and [quote-treasure] as well as [quote-treasure]
- [quote-treasure] , [quote-treasure] or [quote-treasure]
+ [quote-treasure] as well as [quote-treasure]
+ [quote-treasure] or [quote-treasure]
+ [quote-treasure] , and [quote-treasure] as well as [quote-treasure]
+ [quote-treasure] , [quote-treasure] or [quote-treasure]
pragma initial-rule [base-treasures]
@@ -11,38 +11,42 @@ pragma initial-rule [base-treasures]
pragma despace-rule [quote-treasure]
[base-treasure] a [item]
+ a [item]
+ a [item]
[non-item]
[non-item] [money]
- [money]
- nothing
+ [money]
+ [money]
+ [money]
+ nothing
[money] [diablo-amount] [money-type]
[diablo-amount] 1
- 5
- 10
- 20
- 50
- 100
- 200
- 500
- 1000
+ 5
+ 10
+ 20
+ 50
+ 100
+ 200
+ 500
+ 1000
pragma export-rule [diablo-amount]
-[money-type] coin
+[money-type] coins
pragma prefix-with [money-type] [metal-type]
[metal-type] copper
- silver
- gold
- platinum
+ silver
+ gold
+ platinum
-[item] [item-act]
- [item-act] of [suffix]
- [item-act] of [suffix] and [suffix]
+[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]
diff --git a/RGens/data/sample-grammars/diablo-ii/diabloiiitems.gram b/RGens/data/sample-grammars/diablo-ii/diabloiiitems.gram
index b407558..8450b97 100755
--- a/RGens/data/sample-grammars/diablo-ii/diabloiiitems.gram
+++ b/RGens/data/sample-grammars/diablo-ii/diabloiiitems.gram
@@ -1,4 +1,4 @@
-[item-act] [armor]
+[d2-item-type] [armor]
[headgear]
[accoutrements]
[shields]
@@ -16,8 +16,15 @@
[gems]
[inscriptions]
[perishables]
+ [ds-items]
+ [ds-items]
+ [ds-items]
-pragma export-rule [item-act]
+[ds-items] [ds-gem]
+ [ds-rune]
+ [ds-armor]
+
+pragma export-rule [d2-item-type]
[armor] [light-armor]
[medium-armor]
@@ -144,6 +151,7 @@ pragma prefix-with [clubs] [club-prefix]
halberd
[axes] axe
+ hatchet
pragma prefix-with [axes] [axe-type]
pragma prefix-with [axes] [axe-size]
@@ -199,6 +207,7 @@ pragma prefix-with [act-crossbow] [crossbow-weight]
[crossbow-weight] light
heavy
+ hand
[wands] wand
torch
@@ -207,11 +216,12 @@ pragma prefix-with [act-crossbow] [crossbow-weight]
pragma prefix-with [wands] [wand-type]
[wand-type] bone
- yew
+ [tree]
[staves] staff
pragma prefix-with [staves] [staff-type]
+pragma prefix-with [staves] [tree]
pragma prefix-with [staves] [staff-length]
[staff-type] gnarled
diff --git a/RGens/data/sample-grammars/diablo-ii/diabloiiperish.gram b/RGens/data/sample-grammars/diablo-ii/diabloiiperish.gram
index c13cce8..b70919a 100755
--- a/RGens/data/sample-grammars/diablo-ii/diabloiiperish.gram
+++ b/RGens/data/sample-grammars/diablo-ii/diabloiiperish.gram
@@ -16,16 +16,33 @@ pragma export-rule [perishables]
scalp
spleen
soul
+ bone
+ skull
+ blood
+ ribcage
[perishable-type] potion
oil
herb
elixir
resin
+ flask
+ spice
+ salve
-[perishable-effect] [restore-effect]
- light [restore-effect]
- full [restore-effect]
+pragma prefix-with [perishable-type] [bodypart]
+
+[perishable-degree] light
+ medium
+ full
+
+[perishable-effect] [perishable-effect-1]
+ [perishable-effect-1]
+ [perishable-effect-1]
+ [perishable-effect-1]
+ [perishable-degree] [perishable-effect-1]
+
+[perishable-effect-1] [restore-effect]
detox
restoration
flaming
@@ -97,8 +114,10 @@ pragma export-rule [perishables]
skill
fortitude
blacksmith’s
+ blacksmithing
permanence
enchantment
+ enchanting
[restore-effect] healing
mana
diff --git a/RGens/data/sample-grammars/diablo-ii/diabloiiprefixes.gram b/RGens/data/sample-grammars/diablo-ii/diabloiiprefixes.gram
index a13d05a..2087352 100755
--- a/RGens/data/sample-grammars/diablo-ii/diabloiiprefixes.gram
+++ b/RGens/data/sample-grammars/diablo-ii/diabloiiprefixes.gram
@@ -1,4 +1,10 @@
-[prefix] [armor-class]
+[d2-prefix] [d2-prefix-part]
+ [d2-prefix-part]
+ [d2-prefix-chain]
+
+pragma export-rule [d2-prefix]
+
+[d2-prefix-part] [armor-class]
[saving-throw]
[foe-reaction]
[skill-improve]
@@ -12,8 +18,6 @@
[to-hit-damage]
[item-charges]
-pragma export-rule [prefix]
-
[armor-class] sturdy
fine
strong
diff --git a/RGens/data/sample-grammars/dungeondressing/abandoned.gram b/RGens/data/sample-grammars/dungeondressing/abandoned.gram
index c9ed653..c9ed653 100644..100755
--- a/RGens/data/sample-grammars/dungeondressing/abandoned.gram
+++ b/RGens/data/sample-grammars/dungeondressing/abandoned.gram
diff --git a/RGens/data/sample-grammars/dungeondressing/bedroom.gram b/RGens/data/sample-grammars/dungeondressing/bedroom.gram
index c1345d5..c1345d5 100644..100755
--- a/RGens/data/sample-grammars/dungeondressing/bedroom.gram
+++ b/RGens/data/sample-grammars/dungeondressing/bedroom.gram
diff --git a/RGens/data/sample-grammars/dungeondressing/dragonencounter.gram b/RGens/data/sample-grammars/dungeondressing/dragonencounter.gram
index 5c299c3..5c299c3 100644..100755
--- a/RGens/data/sample-grammars/dungeondressing/dragonencounter.gram
+++ b/RGens/data/sample-grammars/dungeondressing/dragonencounter.gram
diff --git a/RGens/data/sample-grammars/dungeondressing/kitchen.gram b/RGens/data/sample-grammars/dungeondressing/kitchen.gram
index 23abda4..23abda4 100644..100755
--- a/RGens/data/sample-grammars/dungeondressing/kitchen.gram
+++ b/RGens/data/sample-grammars/dungeondressing/kitchen.gram
diff --git a/RGens/data/sample-grammars/dungeondressing/monster.gram b/RGens/data/sample-grammars/dungeondressing/monster.gram
index 47e1417..47e1417 100644..100755
--- a/RGens/data/sample-grammars/dungeondressing/monster.gram
+++ b/RGens/data/sample-grammars/dungeondressing/monster.gram
diff --git a/RGens/data/sample-grammars/eastern-sun/easternsunsocketing.gram b/RGens/data/sample-grammars/eastern-sun/easternsunsocketing.gram
new file mode 100755
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/elementals.gram b/RGens/data/sample-grammars/elementals.gram
index 30d256f..30d256f 100644..100755
--- a/RGens/data/sample-grammars/elementals.gram
+++ b/RGens/data/sample-grammars/elementals.gram
diff --git a/RGens/data/sample-grammars/fortune.gram b/RGens/data/sample-grammars/fortune.gram
index 8bfce32..8bfce32 100644..100755
--- a/RGens/data/sample-grammars/fortune.gram
+++ b/RGens/data/sample-grammars/fortune.gram
diff --git a/RGens/data/sample-grammars/gemstones.gram b/RGens/data/sample-grammars/gemstones.gram
new file mode 100755
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/horror.gram b/RGens/data/sample-grammars/horror.gram
index 07d84de..07d84de 100644..100755
--- a/RGens/data/sample-grammars/horror.gram
+++ b/RGens/data/sample-grammars/horror.gram
diff --git a/RGens/data/sample-grammars/insults.gram b/RGens/data/sample-grammars/insults.gram
index 98a7a8e..98a7a8e 100644..100755
--- a/RGens/data/sample-grammars/insults.gram
+++ b/RGens/data/sample-grammars/insults.gram
diff --git a/RGens/data/sample-grammars/linux.gram b/RGens/data/sample-grammars/linux.gram
index ad18d65..ad18d65 100644..100755
--- a/RGens/data/sample-grammars/linux.gram
+++ b/RGens/data/sample-grammars/linux.gram
diff --git a/RGens/data/sample-grammars/long-data/animal.gram b/RGens/data/sample-grammars/long-data/animal.gram
index 8ce3b9d..8ce3b9d 100644..100755
--- a/RGens/data/sample-grammars/long-data/animal.gram
+++ b/RGens/data/sample-grammars/long-data/animal.gram
diff --git a/RGens/data/sample-grammars/long-data/canada-province.gram b/RGens/data/sample-grammars/long-data/canada-province.gram
index 8210d42..8210d42 100644..100755
--- a/RGens/data/sample-grammars/long-data/canada-province.gram
+++ b/RGens/data/sample-grammars/long-data/canada-province.gram
diff --git a/RGens/data/sample-grammars/long-data/cards.gram b/RGens/data/sample-grammars/long-data/cards.gram
index 51a86d4..51a86d4 100644..100755
--- a/RGens/data/sample-grammars/long-data/cards.gram
+++ b/RGens/data/sample-grammars/long-data/cards.gram
diff --git a/RGens/data/sample-grammars/long-data/color.gram b/RGens/data/sample-grammars/long-data/color.gram
index c71d04d..c71d04d 100644..100755
--- a/RGens/data/sample-grammars/long-data/color.gram
+++ b/RGens/data/sample-grammars/long-data/color.gram
diff --git a/RGens/data/sample-grammars/long-data/first-name-female.gram b/RGens/data/sample-grammars/long-data/first-name-female.gram
index 0bdfc8b..0bdfc8b 100644..100755
--- a/RGens/data/sample-grammars/long-data/first-name-female.gram
+++ b/RGens/data/sample-grammars/long-data/first-name-female.gram
diff --git a/RGens/data/sample-grammars/long-data/first-name-male.gram b/RGens/data/sample-grammars/long-data/first-name-male.gram
index 5642f9a..5642f9a 100644..100755
--- a/RGens/data/sample-grammars/long-data/first-name-male.gram
+++ b/RGens/data/sample-grammars/long-data/first-name-male.gram
diff --git a/RGens/data/sample-grammars/long-data/geographic-thing.gram b/RGens/data/sample-grammars/long-data/geographic-thing.gram
index 178bd7f..178bd7f 100644..100755
--- a/RGens/data/sample-grammars/long-data/geographic-thing.gram
+++ b/RGens/data/sample-grammars/long-data/geographic-thing.gram
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 100755
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 100755
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/long-data/last-name.gram b/RGens/data/sample-grammars/long-data/last-name.gram
index b99a40c..b99a40c 100644..100755
--- a/RGens/data/sample-grammars/long-data/last-name.gram
+++ b/RGens/data/sample-grammars/long-data/last-name.gram
diff --git a/RGens/data/sample-grammars/long-data/letters.gram b/RGens/data/sample-grammars/long-data/letters.gram
index f561b99..f561b99 100644..100755
--- a/RGens/data/sample-grammars/long-data/letters.gram
+++ b/RGens/data/sample-grammars/long-data/letters.gram
diff --git a/RGens/data/sample-grammars/long-data/nation.gram b/RGens/data/sample-grammars/long-data/nation.gram
index d15788d..d15788d 100644..100755
--- a/RGens/data/sample-grammars/long-data/nation.gram
+++ b/RGens/data/sample-grammars/long-data/nation.gram
diff --git a/RGens/data/sample-grammars/long-data/numbers.gram b/RGens/data/sample-grammars/long-data/numbers.gram
index 8525102..8525102 100644..100755
--- a/RGens/data/sample-grammars/long-data/numbers.gram
+++ b/RGens/data/sample-grammars/long-data/numbers.gram
diff --git a/RGens/data/sample-grammars/long-data/planet.gram b/RGens/data/sample-grammars/long-data/planet.gram
index 1da1678..1da1678 100644..100755
--- a/RGens/data/sample-grammars/long-data/planet.gram
+++ b/RGens/data/sample-grammars/long-data/planet.gram
diff --git a/RGens/data/sample-grammars/long-data/real-city.gram b/RGens/data/sample-grammars/long-data/real-city.gram
index 7ca57b9..7ca57b9 100644..100755
--- a/RGens/data/sample-grammars/long-data/real-city.gram
+++ b/RGens/data/sample-grammars/long-data/real-city.gram
diff --git a/RGens/data/sample-grammars/long-data/real-company.gram b/RGens/data/sample-grammars/long-data/real-company.gram
index f81ec14..f81ec14 100644..100755
--- a/RGens/data/sample-grammars/long-data/real-company.gram
+++ b/RGens/data/sample-grammars/long-data/real-company.gram
diff --git a/RGens/data/sample-grammars/long-data/relative.gram b/RGens/data/sample-grammars/long-data/relative.gram
index a18e015..a18e015 100644..100755
--- a/RGens/data/sample-grammars/long-data/relative.gram
+++ b/RGens/data/sample-grammars/long-data/relative.gram
diff --git a/RGens/data/sample-grammars/long-data/roman-numeral.gram b/RGens/data/sample-grammars/long-data/roman-numeral.gram
index 886d44c..886d44c 100644..100755
--- a/RGens/data/sample-grammars/long-data/roman-numeral.gram
+++ b/RGens/data/sample-grammars/long-data/roman-numeral.gram
diff --git a/RGens/data/sample-grammars/long-data/syllables.gram b/RGens/data/sample-grammars/long-data/syllables.gram
index 925c2aa..925c2aa 100644..100755
--- a/RGens/data/sample-grammars/long-data/syllables.gram
+++ b/RGens/data/sample-grammars/long-data/syllables.gram
diff --git a/RGens/data/sample-grammars/long-data/town-name.gram b/RGens/data/sample-grammars/long-data/town-name.gram
index e176c7d..e176c7d 100644..100755
--- a/RGens/data/sample-grammars/long-data/town-name.gram
+++ b/RGens/data/sample-grammars/long-data/town-name.gram
diff --git a/RGens/data/sample-grammars/long-data/tree.gram b/RGens/data/sample-grammars/long-data/tree.gram
index 6fd0f0e..6fd0f0e 100644..100755
--- a/RGens/data/sample-grammars/long-data/tree.gram
+++ b/RGens/data/sample-grammars/long-data/tree.gram
diff --git a/RGens/data/sample-grammars/media.gram b/RGens/data/sample-grammars/media.gram
index f3a1c98..f3a1c98 100644..100755
--- a/RGens/data/sample-grammars/media.gram
+++ b/RGens/data/sample-grammars/media.gram
diff --git a/RGens/data/sample-grammars/mission.gram b/RGens/data/sample-grammars/mission.gram
index e474fcd..e474fcd 100644..100755
--- a/RGens/data/sample-grammars/mission.gram
+++ b/RGens/data/sample-grammars/mission.gram
diff --git a/RGens/data/sample-grammars/names.gram b/RGens/data/sample-grammars/names.gram
index 104c136..104c136 100644..100755
--- a/RGens/data/sample-grammars/names.gram
+++ b/RGens/data/sample-grammars/names.gram
diff --git a/RGens/data/sample-grammars/newspaper.gram b/RGens/data/sample-grammars/newspaper.gram
index afa91ee..afa91ee 100644..100755
--- a/RGens/data/sample-grammars/newspaper.gram
+++ b/RGens/data/sample-grammars/newspaper.gram
diff --git a/RGens/data/sample-grammars/numbers.gram b/RGens/data/sample-grammars/numbers.gram
index 4db84b9..4db84b9 100644..100755
--- a/RGens/data/sample-grammars/numbers.gram
+++ b/RGens/data/sample-grammars/numbers.gram
diff --git a/RGens/data/sample-grammars/ordinal.gram b/RGens/data/sample-grammars/ordinal.gram
index da4aa4e..da4aa4e 100644..100755
--- a/RGens/data/sample-grammars/ordinal.gram
+++ b/RGens/data/sample-grammars/ordinal.gram
diff --git a/RGens/data/sample-grammars/organization.gram b/RGens/data/sample-grammars/organization.gram
index 9c88686..9c88686 100644..100755
--- a/RGens/data/sample-grammars/organization.gram
+++ b/RGens/data/sample-grammars/organization.gram
diff --git a/RGens/data/sample-grammars/phone-number.gram b/RGens/data/sample-grammars/phone-number.gram
index 163ef4a..163ef4a 100644..100755
--- a/RGens/data/sample-grammars/phone-number.gram
+++ b/RGens/data/sample-grammars/phone-number.gram
diff --git a/RGens/data/sample-grammars/president.gram b/RGens/data/sample-grammars/president.gram
index 63b928c..63b928c 100644..100755
--- a/RGens/data/sample-grammars/president.gram
+++ b/RGens/data/sample-grammars/president.gram
diff --git a/RGens/data/sample-grammars/rtwiki/adjective.gram b/RGens/data/sample-grammars/rtwiki/adjective.gram
index 09168aa..09168aa 100644..100755
--- a/RGens/data/sample-grammars/rtwiki/adjective.gram
+++ b/RGens/data/sample-grammars/rtwiki/adjective.gram
diff --git a/RGens/data/sample-grammars/rtwiki/bodyparts.gram b/RGens/data/sample-grammars/rtwiki/bodyparts.gram
index 71b4924..71b4924 100644..100755
--- a/RGens/data/sample-grammars/rtwiki/bodyparts.gram
+++ b/RGens/data/sample-grammars/rtwiki/bodyparts.gram
diff --git a/RGens/data/sample-grammars/rtwiki/class.gram b/RGens/data/sample-grammars/rtwiki/class.gram
index 8fcb17c..8fcb17c 100644..100755
--- a/RGens/data/sample-grammars/rtwiki/class.gram
+++ b/RGens/data/sample-grammars/rtwiki/class.gram
diff --git a/RGens/data/sample-grammars/rtwiki/color.gram b/RGens/data/sample-grammars/rtwiki/color.gram
index d6c5402..d6c5402 100644..100755
--- a/RGens/data/sample-grammars/rtwiki/color.gram
+++ b/RGens/data/sample-grammars/rtwiki/color.gram
diff --git a/RGens/data/sample-grammars/rtwiki/creature.gram b/RGens/data/sample-grammars/rtwiki/creature.gram
index b3f7b92..b3f7b92 100644..100755
--- a/RGens/data/sample-grammars/rtwiki/creature.gram
+++ b/RGens/data/sample-grammars/rtwiki/creature.gram
diff --git a/RGens/data/sample-grammars/rtwiki/death-cause.gram b/RGens/data/sample-grammars/rtwiki/death-cause.gram
index 627a3ee..627a3ee 100644..100755
--- a/RGens/data/sample-grammars/rtwiki/death-cause.gram
+++ b/RGens/data/sample-grammars/rtwiki/death-cause.gram
diff --git a/RGens/data/sample-grammars/rtwiki/fantasy-name.gram b/RGens/data/sample-grammars/rtwiki/fantasy-name.gram
index c4ce02e..c4ce02e 100644..100755
--- a/RGens/data/sample-grammars/rtwiki/fantasy-name.gram
+++ b/RGens/data/sample-grammars/rtwiki/fantasy-name.gram
diff --git a/RGens/data/sample-grammars/rtwiki/favorite.gram b/RGens/data/sample-grammars/rtwiki/favorite.gram
index ba1468a..ba1468a 100644..100755
--- a/RGens/data/sample-grammars/rtwiki/favorite.gram
+++ b/RGens/data/sample-grammars/rtwiki/favorite.gram
diff --git a/RGens/data/sample-grammars/rtwiki/guns.gram b/RGens/data/sample-grammars/rtwiki/guns.gram
index 139e349..139e349 100644..100755
--- a/RGens/data/sample-grammars/rtwiki/guns.gram
+++ b/RGens/data/sample-grammars/rtwiki/guns.gram
diff --git a/RGens/data/sample-grammars/rtwiki/item.gram b/RGens/data/sample-grammars/rtwiki/item.gram
index 601710a..601710a 100644..100755
--- a/RGens/data/sample-grammars/rtwiki/item.gram
+++ b/RGens/data/sample-grammars/rtwiki/item.gram
diff --git a/RGens/data/sample-grammars/rtwiki/traits.gram b/RGens/data/sample-grammars/rtwiki/traits.gram
index c3ff790..c3ff790 100644..100755
--- a/RGens/data/sample-grammars/rtwiki/traits.gram
+++ b/RGens/data/sample-grammars/rtwiki/traits.gram
diff --git a/RGens/data/sample-grammars/school.gram b/RGens/data/sample-grammars/school.gram
index cd9298b..cd9298b 100644..100755
--- a/RGens/data/sample-grammars/school.gram
+++ b/RGens/data/sample-grammars/school.gram
diff --git a/RGens/data/sample-grammars/slashdot.gram b/RGens/data/sample-grammars/slashdot.gram
index 2b38ee3..2b38ee3 100644..100755
--- a/RGens/data/sample-grammars/slashdot.gram
+++ b/RGens/data/sample-grammars/slashdot.gram
diff --git a/RGens/data/sample-grammars/states.gram b/RGens/data/sample-grammars/states.gram
index 43f1402..43f1402 100644..100755
--- a/RGens/data/sample-grammars/states.gram
+++ b/RGens/data/sample-grammars/states.gram
diff --git a/RGens/data/sample-grammars/theory.gram b/RGens/data/sample-grammars/theory.gram
index af2ce49..af2ce49 100644..100755
--- a/RGens/data/sample-grammars/theory.gram
+++ b/RGens/data/sample-grammars/theory.gram
diff --git a/RGens/data/sample-grammars/trademark.gram b/RGens/data/sample-grammars/trademark.gram
index 7ec2fef..7ec2fef 100644..100755
--- a/RGens/data/sample-grammars/trademark.gram
+++ b/RGens/data/sample-grammars/trademark.gram
diff --git a/RGens/data/sample-grammars/vaultsofnagoh/turboghoul-hats.gram b/RGens/data/sample-grammars/vaultsofnagoh/turboghoul-hats.gram
index e0a21d3..e0a21d3 100644..100755
--- a/RGens/data/sample-grammars/vaultsofnagoh/turboghoul-hats.gram
+++ b/RGens/data/sample-grammars/vaultsofnagoh/turboghoul-hats.gram
diff --git a/RGens/data/sample-grammars/web.gram b/RGens/data/sample-grammars/web.gram
index 357fc36..357fc36 100644..100755
--- a/RGens/data/sample-grammars/web.gram
+++ b/RGens/data/sample-grammars/web.gram
diff --git a/RGens/data/seniordesign/dbdata.gram b/RGens/data/seniordesign/dbdata.gram
index 04938ad..04938ad 100644..100755
--- a/RGens/data/seniordesign/dbdata.gram
+++ b/RGens/data/seniordesign/dbdata.gram
diff --git a/RGens/data/server-config-sample.cfg b/RGens/data/server-config-sample.cfg
index dfb675e..cc0dc1f 100644..100755
--- a/RGens/data/server-config-sample.cfg
+++ b/RGens/data/server-config-sample.cfg
@@ -1,7 +1,7 @@
# Load 'long rules' -- Grammars with one rule with a lot of cases
animal sample-grammars/long-data/animal.gram
canada-province sample-grammars/long-data/canada-province.gram
-cards sample-grammars/long-data/cards.gram
+cards sample-grammars/long-data/cards.gram
color sample-grammars/long-data/color.gram
first-name-female sample-grammars/long-data/first-name-female.gram
first-name-male sample-grammars/long-data/first-name-male.gram
@@ -18,8 +18,12 @@ roman-numeral sample-grammars/long-data/roman-numeral.gram
syllables sample-grammars/long-data/syllables.gram
town-name sample-grammars/long-data/town-name.gram
tree sample-grammars/long-data/tree.gram
+greek-letters sample-grammars/long-data/greek-letters.gram
+japanese-sylls sample-grammars/long-data/japanese-writing.gram
# Load grammars
+
+# Set I of grammars
24hr-rpg sample-grammars/24hr-rpg.gram
acronym sample-grammars/acronym.gram
address sample-grammars/address.gram
@@ -38,6 +42,7 @@ dungeon-enviroment sample-grammars/dungeon-enviroment.gram
elemental sample-grammars/elementals.gram
fantasy-locations sample-grammars/fantasy-locations.gram
fortune sample-grammars/fortune.gram
+gemstones sample-grammars/gemstones.gram
genre-fiction sample-grammars/genre-fiction.gram
horror sample-grammars/horror.gram
insults sample-grammars/insults.gram
@@ -66,7 +71,6 @@ theory sample-grammars/theory.gram
trademark sample-grammars/trademark.gram
web sample-grammars/web.gram
zadrons-pouch sample-grammars/zadrons-pouch.gram
-# Other grammar files
# Diablo II items
diabloii-base sample-grammars/diablo-ii/diabloii.gram
@@ -75,6 +79,16 @@ diabloii-perish sample-grammars/diablo-ii/diabloiiperish.gram
diabloii-prefixes sample-grammars/diablo-ii/diabloiiprefixes.gram
diabloii-suffixes sample-grammars/diablo-ii/diabloiisuffixes.gram
+# Set II of grammars
+repinsults new-sample-grammars/repinsult.gram
+
+# Drakensang online items
+ds-runes new-sample-grammars/drakensang/runes.gram
+ds-gems new-sample-grammars/drakensang/gems.gram
+ds-armor new-sample-grammars/drakensang/armor.gram
+
+# Other grammar files
+
# Dungeon dressing
abandoned sample-grammars/dungeondressing/abandoned.gram
bedroom sample-grammars/dungeondressing/bedroom.gram
diff --git a/RGens/data/tags b/RGens/data/tags
new file mode 100755
index 0000000..5cc84d8
--- /dev/null
+++ b/RGens/data/tags
@@ -0,0 +1,6 @@
+!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
+!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
+!_TAG_PROGRAM_AUTHOR Universal Ctags Team //
+!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/
+!_TAG_PROGRAM_URL https://ctags.io/ /official site/
+!_TAG_PROGRAM_VERSION 0.0.0 //
diff --git a/RGens/data/todos.txt b/RGens/data/todos.txt
index ea1862f..1de8841 100644..100755
--- a/RGens/data/todos.txt
+++ b/RGens/data/todos.txt
@@ -1,2 +1,2 @@
-@TODO 10/26/17 Ben Culkin :Greek
- Add a long rule for greek letters
+:TODO 5/10/18 Ben Culkin :EasternSun
+ Finish up the new-style Diablo generator, using Eastern Sun things
diff --git a/RGens/dotest.sh b/RGens/dotest.sh
index b2b43b9..a39a012 100755
--- a/RGens/dotest.sh
+++ b/RGens/dotest.sh
@@ -1,4 +1,5 @@
#!/bin/bash
-mvn clean compile exec:java > outp.txt 2> error.txt; tail -n +35 outp.txt \
-| view -c "normal! zR" -;
+mvn clean compile exec:java > outp.txt 2> error.txt;
+
+tail -n +36 outp.txt | view -c "normal! zR" -;
diff --git a/RGens/pom.xml b/RGens/pom.xml
index 1bb647e..1bb647e 100644..100755
--- a/RGens/pom.xml
+++ b/RGens/pom.xml
diff --git a/RGens/src/main/java/.DS_Store b/RGens/src/main/java/.DS_Store
index c5a38b7..c5a38b7 100644..100755
--- a/RGens/src/main/java/.DS_Store
+++ b/RGens/src/main/java/.DS_Store
Binary files differ
diff --git a/RGens/src/main/java/bjc/.DS_Store b/RGens/src/main/java/bjc/.DS_Store
index 86e50e6..86e50e6 100644..100755
--- a/RGens/src/main/java/bjc/.DS_Store
+++ b/RGens/src/main/java/bjc/.DS_Store
Binary files differ
diff --git a/RGens/src/main/java/bjc/rgens/ZadronsPouch.java b/RGens/src/main/java/bjc/rgens/ZadronsPouch.java
index 827d022..827d022 100644..100755
--- a/RGens/src/main/java/bjc/rgens/ZadronsPouch.java
+++ b/RGens/src/main/java/bjc/rgens/ZadronsPouch.java
diff --git a/RGens/src/main/java/bjc/rgens/parser/GrammarException.java b/RGens/src/main/java/bjc/rgens/parser/GrammarException.java
index 9eaa0a1..9eaa0a1 100644..100755
--- a/RGens/src/main/java/bjc/rgens/parser/GrammarException.java
+++ b/RGens/src/main/java/bjc/rgens/parser/GrammarException.java
diff --git a/RGens/src/main/java/bjc/rgens/parser/RGrammar.java b/RGens/src/main/java/bjc/rgens/parser/RGrammar.java
index 38f38c8..38f38c8 100644..100755
--- a/RGens/src/main/java/bjc/rgens/parser/RGrammar.java
+++ b/RGens/src/main/java/bjc/rgens/parser/RGrammar.java
diff --git a/RGens/src/main/java/bjc/rgens/parser/RGrammarBuilder.java b/RGens/src/main/java/bjc/rgens/parser/RGrammarBuilder.java
index b4cb04a..b4cb04a 100644..100755
--- a/RGens/src/main/java/bjc/rgens/parser/RGrammarBuilder.java
+++ b/RGens/src/main/java/bjc/rgens/parser/RGrammarBuilder.java
diff --git a/RGens/src/main/java/bjc/rgens/parser/RGrammarFormatter.java b/RGens/src/main/java/bjc/rgens/parser/RGrammarFormatter.java
index a2454dc..a2454dc 100644..100755
--- a/RGens/src/main/java/bjc/rgens/parser/RGrammarFormatter.java
+++ b/RGens/src/main/java/bjc/rgens/parser/RGrammarFormatter.java
diff --git a/RGens/src/main/java/bjc/rgens/parser/RGrammarParser.java b/RGens/src/main/java/bjc/rgens/parser/RGrammarParser.java
index 3a357b1..3a357b1 100644..100755
--- a/RGens/src/main/java/bjc/rgens/parser/RGrammarParser.java
+++ b/RGens/src/main/java/bjc/rgens/parser/RGrammarParser.java
diff --git a/RGens/src/main/java/bjc/rgens/parser/RGrammarSet.java b/RGens/src/main/java/bjc/rgens/parser/RGrammarSet.java
index 975510a..975510a 100644..100755
--- a/RGens/src/main/java/bjc/rgens/parser/RGrammarSet.java
+++ b/RGens/src/main/java/bjc/rgens/parser/RGrammarSet.java
diff --git a/RGens/src/main/java/bjc/rgens/parser/RGrammarTest.java b/RGens/src/main/java/bjc/rgens/parser/RGrammarTest.java
index 4b1f283..4b1f283 100644..100755
--- a/RGens/src/main/java/bjc/rgens/parser/RGrammarTest.java
+++ b/RGens/src/main/java/bjc/rgens/parser/RGrammarTest.java
diff --git a/RGens/src/main/java/bjc/rgens/parser/RGrammars.java b/RGens/src/main/java/bjc/rgens/parser/RGrammars.java
index f74a756..f74a756 100644..100755
--- a/RGens/src/main/java/bjc/rgens/parser/RGrammars.java
+++ b/RGens/src/main/java/bjc/rgens/parser/RGrammars.java
diff --git a/RGens/src/main/java/bjc/rgens/parser/RegexRuleCase.java b/RGens/src/main/java/bjc/rgens/parser/RegexRuleCase.java
index 5e03cd6..5e03cd6 100644..100755
--- a/RGens/src/main/java/bjc/rgens/parser/RegexRuleCase.java
+++ b/RGens/src/main/java/bjc/rgens/parser/RegexRuleCase.java
diff --git a/RGens/src/main/java/bjc/rgens/parser/Rule.java b/RGens/src/main/java/bjc/rgens/parser/Rule.java
index 7043e0f..7043e0f 100644..100755
--- a/RGens/src/main/java/bjc/rgens/parser/Rule.java
+++ b/RGens/src/main/java/bjc/rgens/parser/Rule.java
diff --git a/RGens/src/main/java/bjc/rgens/parser/RuleCase.java b/RGens/src/main/java/bjc/rgens/parser/RuleCase.java
index 9c0a856..9c0a856 100644..100755
--- a/RGens/src/main/java/bjc/rgens/parser/RuleCase.java
+++ b/RGens/src/main/java/bjc/rgens/parser/RuleCase.java
diff --git a/RGens/src/main/java/bjc/rgens/parser/elements/BlankCaseElement.java b/RGens/src/main/java/bjc/rgens/parser/elements/BlankCaseElement.java
index 7229e92..7229e92 100644..100755
--- a/RGens/src/main/java/bjc/rgens/parser/elements/BlankCaseElement.java
+++ b/RGens/src/main/java/bjc/rgens/parser/elements/BlankCaseElement.java
diff --git a/RGens/src/main/java/bjc/rgens/parser/elements/CaseElement.java b/RGens/src/main/java/bjc/rgens/parser/elements/CaseElement.java
index d74ab52..d74ab52 100644..100755
--- a/RGens/src/main/java/bjc/rgens/parser/elements/CaseElement.java
+++ b/RGens/src/main/java/bjc/rgens/parser/elements/CaseElement.java
diff --git a/RGens/src/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java b/RGens/src/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java
index 30925e2..30925e2 100644..100755
--- a/RGens/src/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java
+++ b/RGens/src/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java
diff --git a/RGens/src/main/java/bjc/rgens/parser/elements/LitVariableCaseElement.java b/RGens/src/main/java/bjc/rgens/parser/elements/LitVariableCaseElement.java
index 11035b1..11035b1 100644..100755
--- a/RGens/src/main/java/bjc/rgens/parser/elements/LitVariableCaseElement.java
+++ b/RGens/src/main/java/bjc/rgens/parser/elements/LitVariableCaseElement.java
diff --git a/RGens/src/main/java/bjc/rgens/parser/elements/LiteralCaseElement.java b/RGens/src/main/java/bjc/rgens/parser/elements/LiteralCaseElement.java
index d96a32d..d96a32d 100644..100755
--- a/RGens/src/main/java/bjc/rgens/parser/elements/LiteralCaseElement.java
+++ b/RGens/src/main/java/bjc/rgens/parser/elements/LiteralCaseElement.java
diff --git a/RGens/src/main/java/bjc/rgens/parser/elements/RangeCaseElement.java b/RGens/src/main/java/bjc/rgens/parser/elements/RangeCaseElement.java
index d98bc61..d98bc61 100644..100755
--- a/RGens/src/main/java/bjc/rgens/parser/elements/RangeCaseElement.java
+++ b/RGens/src/main/java/bjc/rgens/parser/elements/RangeCaseElement.java
diff --git a/RGens/src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java b/RGens/src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java
index f4d3512..f4d3512 100644..100755
--- a/RGens/src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java
+++ b/RGens/src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java
diff --git a/RGens/src/main/java/bjc/rgens/parser/elements/StringCaseElement.java b/RGens/src/main/java/bjc/rgens/parser/elements/StringCaseElement.java
index 0e64fd3..0e64fd3 100644..100755
--- a/RGens/src/main/java/bjc/rgens/parser/elements/StringCaseElement.java
+++ b/RGens/src/main/java/bjc/rgens/parser/elements/StringCaseElement.java
diff --git a/RGens/src/main/java/bjc/rgens/parser/elements/VariableCaseElement.java b/RGens/src/main/java/bjc/rgens/parser/elements/VariableCaseElement.java
index 920445a..920445a 100644..100755
--- a/RGens/src/main/java/bjc/rgens/parser/elements/VariableCaseElement.java
+++ b/RGens/src/main/java/bjc/rgens/parser/elements/VariableCaseElement.java
diff --git a/RGens/src/main/java/bjc/rgens/parser/new-syntax.txt b/RGens/src/main/java/bjc/rgens/parser/new-syntax.txt
index f6578b4..f6578b4 100644..100755
--- a/RGens/src/main/java/bjc/rgens/parser/new-syntax.txt
+++ b/RGens/src/main/java/bjc/rgens/parser/new-syntax.txt
diff --git a/RGens/src/main/java/bjc/rgens/text/markov/Markov.java b/RGens/src/main/java/bjc/rgens/text/markov/Markov.java
index e21d60f..e21d60f 100644..100755
--- a/RGens/src/main/java/bjc/rgens/text/markov/Markov.java
+++ b/RGens/src/main/java/bjc/rgens/text/markov/Markov.java
diff --git a/RGens/src/main/java/bjc/rgens/text/markov/StandaloneMarkov.java b/RGens/src/main/java/bjc/rgens/text/markov/StandaloneMarkov.java
index cebf2bc..cebf2bc 100644..100755
--- a/RGens/src/main/java/bjc/rgens/text/markov/StandaloneMarkov.java
+++ b/RGens/src/main/java/bjc/rgens/text/markov/StandaloneMarkov.java
diff --git a/RGens/src/main/java/bjc/rgens/text/markov/StandaloneTextGenerator.java b/RGens/src/main/java/bjc/rgens/text/markov/StandaloneTextGenerator.java
index 339e8d5..339e8d5 100644..100755
--- a/RGens/src/main/java/bjc/rgens/text/markov/StandaloneTextGenerator.java
+++ b/RGens/src/main/java/bjc/rgens/text/markov/StandaloneTextGenerator.java
diff --git a/RGens/src/main/java/bjc/rgens/text/markov/TextGenerator.java b/RGens/src/main/java/bjc/rgens/text/markov/TextGenerator.java
index f629d49..f629d49 100644..100755
--- a/RGens/src/main/java/bjc/rgens/text/markov/TextGenerator.java
+++ b/RGens/src/main/java/bjc/rgens/text/markov/TextGenerator.java
diff --git a/RGens/src/main/sql/db_schema.sql b/RGens/src/main/sql/db_schema.sql
index 553c7a8..553c7a8 100644..100755
--- a/RGens/src/main/sql/db_schema.sql
+++ b/RGens/src/main/sql/db_schema.sql
diff --git a/RGens/src/main/sql/db_schema.sql.orig b/RGens/src/main/sql/db_schema.sql.orig
new file mode 100755
index 0000000..10df3f0
--- /dev/null
+++ b/RGens/src/main/sql/db_schema.sql.orig
@@ -0,0 +1,15 @@
+create table Rules (
+ ruleid serial,
+ name varchar(255) not null,
+ casecount int,
+ primary key(id)
+);
+
+create index Rules_name on Rules(name);
+
+create table RuleCases (
+ ruleid serial,
+ cse varchar(255) array
+);
+
+create index RuleCase_id on RuleCases(ruleid);
diff --git a/RGens/tags b/RGens/tags
new file mode 100755
index 0000000..4314b27
--- /dev/null
+++ b/RGens/tags
@@ -0,0 +1,218 @@
+!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
+!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
+!_TAG_PROGRAM_AUTHOR Universal Ctags Team //
+!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/
+!_TAG_PROGRAM_URL https://ctags.io/ /official site/
+!_TAG_PROGRAM_VERSION 0.0.0 //
+CaseElement src/main/java/bjc/rgens/newparser/CaseElement.java /^ public CaseElement(ElementType typ) {$/;" m class:CaseElement
+CaseElement src/main/java/bjc/rgens/newparser/CaseElement.java /^ public CaseElement(ElementType typ, String name, String def) {$/;" m class:CaseElement
+CaseElement src/main/java/bjc/rgens/newparser/CaseElement.java /^ public CaseElement(ElementType typ, String val) {$/;" m class:CaseElement
+CaseElement src/main/java/bjc/rgens/newparser/CaseElement.java /^ public CaseElement(ElementType typ, int first, int second) {$/;" m class:CaseElement
+CaseElement src/main/java/bjc/rgens/newparser/CaseElement.java /^public class CaseElement {$/;" c
+CaseType src/main/java/bjc/rgens/newparser/RuleCase.java /^ public static enum CaseType {$/;" g class:RuleCase
+DEBUG src/main/java/bjc/rgens/newparser/RGrammarParser.java /^ public static final boolean DEBUG = false;$/;" f class:RGrammarParser
+DIST src/main/java/bjc/rgens/newparser/RGrammar.java /^ private static LevenshteinDistance DIST;$/;" f class:RGrammar.LevenshteinMetric file:
+EXPVARDEF src/main/java/bjc/rgens/newparser/CaseElement.java /^ EXPVARDEF;$/;" e enum:CaseElement.ElementType file:
+ElementType src/main/java/bjc/rgens/newparser/CaseElement.java /^ public static enum ElementType {$/;" g class:CaseElement
+GenerationState src/main/java/bjc/rgens/newparser/RGrammar.java /^ public GenerationState(StringBuilder cont, Random rand, Map<String, String> vs) {$/;" m class:RGrammar.GenerationState
+GenerationState src/main/java/bjc/rgens/newparser/RGrammar.java /^ private static class GenerationState {$/;" c class:RGrammar
+GrammarException src/main/java/bjc/rgens/newparser/GrammarException.java /^ public GrammarException(String msg) {$/;" m class:GrammarException
+GrammarException src/main/java/bjc/rgens/newparser/GrammarException.java /^ public GrammarException(String msg, Exception cause) {$/;" m class:GrammarException
+GrammarException src/main/java/bjc/rgens/newparser/GrammarException.java /^public class GrammarException extends RuntimeException {$/;" c
+LITERAL src/main/java/bjc/rgens/newparser/CaseElement.java /^ LITERAL,$/;" e enum:CaseElement.ElementType file:
+LevenshteinMetric src/main/java/bjc/rgens/newparser/RGrammar.java /^ public LevenshteinMetric() {$/;" m class:RGrammar.LevenshteinMetric
+LevenshteinMetric src/main/java/bjc/rgens/newparser/RGrammar.java /^ private static final class LevenshteinMetric implements Metric<String> {$/;" c class:RGrammar
+MAX_DISTANCE src/main/java/bjc/rgens/newparser/RGrammar.java /^ private static final int MAX_DISTANCE = 6;$/;" f class:RGrammar file:
+Markov src/main/java/bjc/rgens/text/markov/Markov.java /^ public Markov(String substr) {$/;" m class:Markov
+Markov src/main/java/bjc/rgens/text/markov/Markov.java /^ public Markov(String substr, Character suffix) {$/;" m class:Markov
+Markov src/main/java/bjc/rgens/text/markov/Markov.java /^public class Markov {$/;" c
+NAMEVAR_PATTERN src/main/java/bjc/rgens/newparser/RGrammar.java /^ private static Pattern NAMEVAR_PATTERN = Pattern.compile("\\\\$(\\\\w+)");$/;" f class:RGrammar file:
+NORMAL src/main/java/bjc/rgens/newparser/RuleCase.java /^ NORMAL,$/;" e enum:RuleCase.CaseType file:
+RANGE src/main/java/bjc/rgens/newparser/CaseElement.java /^ RANGE,$/;" e enum:CaseElement.ElementType file:
+RANGE_CASELM src/main/java/bjc/rgens/newparser/CaseElement.java /^ private static final String RANGE_CASELM = "\\\\[\\\\d+\\\\.\\\\.\\\\d+\\\\]";$/;" f class:CaseElement file:
+REFER_CASELEM src/main/java/bjc/rgens/newparser/CaseElement.java /^ private static final String REFER_CASELEM = "\\\\[[^\\\\]]+\\\\]";$/;" f class:CaseElement file:
+REGEX src/main/java/bjc/rgens/newparser/RuleCase.java /^ REGEX$/;" e enum:RuleCase.CaseType file:
+RGrammar src/main/java/bjc/rgens/newparser/RGrammar.java /^ public RGrammar(Map<String, Rule> ruls) {$/;" m class:RGrammar
+RGrammar src/main/java/bjc/rgens/newparser/RGrammar.java /^public class RGrammar {$/;" c
+RGrammarBuilder src/main/java/bjc/rgens/newparser/RGrammarBuilder.java /^ public RGrammarBuilder() {$/;" m class:RGrammarBuilder
+RGrammarBuilder src/main/java/bjc/rgens/newparser/RGrammarBuilder.java /^public class RGrammarBuilder {$/;" c
+RGrammarFormatter src/main/java/bjc/rgens/newparser/RGrammarFormatter.java /^public class RGrammarFormatter {$/;" c
+RGrammarParser src/main/java/bjc/rgens/newparser/RGrammarParser.java /^public class RGrammarParser {$/;" c
+RGrammarSet src/main/java/bjc/rgens/newparser/RGrammarSet.java /^ public RGrammarSet() {$/;" m class:RGrammarSet
+RGrammarSet src/main/java/bjc/rgens/newparser/RGrammarSet.java /^public class RGrammarSet {$/;" c
+RGrammarTest src/main/java/bjc/rgens/newparser/RGrammarTest.java /^public class RGrammarTest {$/;" c
+RGrammars src/main/java/bjc/rgens/newparser/RGrammars.java /^public class RGrammars {$/;" c
+RULEREF src/main/java/bjc/rgens/newparser/CaseElement.java /^ RULEREF,$/;" e enum:CaseElement.ElementType file:
+RegexRuleCase src/main/java/bjc/rgens/newparser/RegexRuleCase.java /^ public RegexRuleCase(IList<CaseElement> elements, String pattern) {$/;" m class:RegexRuleCase
+RegexRuleCase src/main/java/bjc/rgens/newparser/RegexRuleCase.java /^public class RegexRuleCase extends RuleCase {$/;" c
+Rule src/main/java/bjc/rgens/newparser/Rule.java /^ public Rule(String ruleName) {$/;" m class:Rule
+Rule src/main/java/bjc/rgens/newparser/Rule.java /^public class Rule {$/;" c
+RuleCase src/main/java/bjc/rgens/newparser/RuleCase.java /^ protected RuleCase(CaseType typ) {$/;" m class:RuleCase
+RuleCase src/main/java/bjc/rgens/newparser/RuleCase.java /^ public RuleCase(CaseType typ, IList<CaseElement> elements) {$/;" m class:RuleCase
+RuleCase src/main/java/bjc/rgens/newparser/RuleCase.java /^public class RuleCase {$/;" c
+RuleCase_id src/main/sql/db_schema.sql /^create index RuleCase_id on RuleCases(ruleid);$/;" i table:RuleCases
+RuleCases src/main/sql/db_schema.sql /^create table RuleCases ($/;" t
+Rules src/main/sql/db_schema.sql /^create table Rules ($/;" t
+Rules_name src/main/sql/db_schema.sql /^create index Rules_name on Rules(name);$/;" i table:Rules
+SPACEFLATTEN src/main/java/bjc/rgens/newparser/RuleCase.java /^ SPACEFLATTEN,$/;" e enum:RuleCase.CaseType file:
+SPECIAL_CASELEM src/main/java/bjc/rgens/newparser/CaseElement.java /^ private static final String SPECIAL_CASELEM = "\\\\{[^}]+\\\\}";$/;" f class:CaseElement file:
+StandaloneMarkov src/main/java/bjc/rgens/text/markov/StandaloneMarkov.java /^ public StandaloneMarkov(int order, Map<String, Markov> markovHash, String firstSub) {$/;" m class:StandaloneMarkov
+StandaloneMarkov src/main/java/bjc/rgens/text/markov/StandaloneMarkov.java /^public class StandaloneMarkov {$/;" c
+StandaloneTextGenerator src/main/java/bjc/rgens/text/markov/StandaloneTextGenerator.java /^public class StandaloneTextGenerator {$/;" c
+TMPL_PRAGMA_BLOCK_DELIM src/main/java/bjc/rgens/newparser/RGrammarParser.java /^ private static final String TMPL_PRAGMA_BLOCK_DELIM = "\\\\R\\\\t{%d}(?!\\\\t)";$/;" f class:RGrammarParser file:
+TMPL_RULEDECL_BLOCK_DELIM src/main/java/bjc/rgens/newparser/RGrammarParser.java /^ private static final String TMPL_RULEDECL_BLOCK_DELIM = "\\\\R\\\\t\\\\t{%d}";$/;" f class:RGrammarParser file:
+TMPL_TOPLEVEL_BLOCK_DELIM src/main/java/bjc/rgens/newparser/RGrammarParser.java /^ private static final String TMPL_TOPLEVEL_BLOCK_DELIM = "\\\\R\\\\t{%d}\\\\.?\\\\R";$/;" f class:RGrammarParser file:
+TMPL_WHERE_BLOCK_DELIM src/main/java/bjc/rgens/newparser/RGrammarParser.java /^ private static final String TMPL_WHERE_BLOCK_DELIM = "\\\\R\\\\t{%d}(?:in|end)\\\\R";$/;" f class:RGrammarParser file:
+TextGenerator src/main/java/bjc/rgens/text/markov/TextGenerator.java /^public class TextGenerator {$/;" c
+VARDEF src/main/java/bjc/rgens/newparser/CaseElement.java /^ VARDEF,$/;" e enum:CaseElement.ElementType file:
+ZadronsPouch src/main/java/bjc/rgens/ZadronsPouch.java /^ public ZadronsPouch() {$/;" m class:ZadronsPouch
+ZadronsPouch src/main/java/bjc/rgens/ZadronsPouch.java /^public class ZadronsPouch {$/;" c
+add src/main/java/bjc/rgens/text/markov/Markov.java /^ public void add() {$/;" m class:Markov
+add src/main/java/bjc/rgens/text/markov/Markov.java /^ public void add(char c) {$/;" m class:Markov
+addBagRules src/main/java/bjc/rgens/ZadronsPouch.java /^ private void addBagRules() {$/;" m class:ZadronsPouch file:
+addBoxRules src/main/java/bjc/rgens/ZadronsPouch.java /^ private void addBoxRules() {$/;" m class:ZadronsPouch file:
+addCardRules src/main/java/bjc/rgens/ZadronsPouch.java /^ private void addCardRules() {$/;" m class:ZadronsPouch file:
+addCase src/main/java/bjc/rgens/newparser/Rule.java /^ public void addCase(RuleCase cse) {$/;" m class:Rule
+addCrysSphereRules src/main/java/bjc/rgens/ZadronsPouch.java /^ private void addCrysSphereRules() {$/;" m class:ZadronsPouch file:
+addEggRules src/main/java/bjc/rgens/ZadronsPouch.java /^ private void addEggRules() {$/;" m class:ZadronsPouch file:
+addExport src/main/java/bjc/rgens/newparser/RGrammarBuilder.java /^ public void addExport(String export) {$/;" m class:RGrammarBuilder
+addFigurineRules src/main/java/bjc/rgens/ZadronsPouch.java /^ private void addFigurineRules() {$/;" m class:ZadronsPouch file:
+addGloveRules src/main/java/bjc/rgens/ZadronsPouch.java /^ private void addGloveRules() {$/;" m class:ZadronsPouch file:
+addGrammar src/main/java/bjc/rgens/newparser/RGrammarSet.java /^ public void addGrammar(String grammarName, RGrammar gram) {$/;" m class:RGrammarSet
+addMiniWeaponRules src/main/java/bjc/rgens/ZadronsPouch.java /^ private void addMiniWeaponRules() {$/;" m class:ZadronsPouch file:
+addRockRules src/main/java/bjc/rgens/ZadronsPouch.java /^ private void addRockRules() {$/;" m class:ZadronsPouch file:
+addRopeRules src/main/java/bjc/rgens/ZadronsPouch.java /^ private void addRopeRules() {$/;" m class:ZadronsPouch file:
+addRule src/main/java/bjc/rgens/ZadronsPouch.java /^ private void addRule(String rule, String... cases) {$/;" m class:ZadronsPouch file:
+addVialRules src/main/java/bjc/rgens/ZadronsPouch.java /^ private void addVialRules() {$/;" m class:ZadronsPouch file:
+addWandRules src/main/java/bjc/rgens/ZadronsPouch.java /^ private void addWandRules() {$/;" m class:ZadronsPouch file:
+artifactId target/maven-archiver/pom.properties /^artifactId=RGens$/;" k
+bjc.rgens src/main/java/bjc/rgens/ZadronsPouch.java /^package bjc.rgens;$/;" p
+bjc.rgens.newparser src/main/java/bjc/rgens/newparser/CaseElement.java /^package bjc.rgens.newparser;$/;" p
+bjc.rgens.newparser src/main/java/bjc/rgens/newparser/GrammarException.java /^package bjc.rgens.newparser;$/;" p
+bjc.rgens.newparser src/main/java/bjc/rgens/newparser/RGrammar.java /^package bjc.rgens.newparser;$/;" p
+bjc.rgens.newparser src/main/java/bjc/rgens/newparser/RGrammarBuilder.java /^package bjc.rgens.newparser;$/;" p
+bjc.rgens.newparser src/main/java/bjc/rgens/newparser/RGrammarFormatter.java /^package bjc.rgens.newparser;$/;" p
+bjc.rgens.newparser src/main/java/bjc/rgens/newparser/RGrammarParser.java /^package bjc.rgens.newparser;$/;" p
+bjc.rgens.newparser src/main/java/bjc/rgens/newparser/RGrammarSet.java /^package bjc.rgens.newparser;$/;" p
+bjc.rgens.newparser src/main/java/bjc/rgens/newparser/RGrammarTest.java /^package bjc.rgens.newparser;$/;" p
+bjc.rgens.newparser src/main/java/bjc/rgens/newparser/RGrammars.java /^package bjc.rgens.newparser;$/;" p
+bjc.rgens.newparser src/main/java/bjc/rgens/newparser/RegexRuleCase.java /^package bjc.rgens.newparser;$/;" p
+bjc.rgens.newparser src/main/java/bjc/rgens/newparser/Rule.java /^package bjc.rgens.newparser;$/;" p
+bjc.rgens.newparser src/main/java/bjc/rgens/newparser/RuleCase.java /^package bjc.rgens.newparser;$/;" p
+bjc.rgens.text.markov src/main/java/bjc/rgens/text/markov/Markov.java /^package bjc.rgens.text.markov;$/;" p
+bjc.rgens.text.markov src/main/java/bjc/rgens/text/markov/StandaloneMarkov.java /^package bjc.rgens.text.markov;$/;" p
+bjc.rgens.text.markov src/main/java/bjc/rgens/text/markov/StandaloneTextGenerator.java /^package bjc.rgens.text.markov;$/;" p
+bjc.rgens.text.markov src/main/java/bjc/rgens/text/markov/TextGenerator.java /^package bjc.rgens.text.markov;$/;" p
+casecount src/main/sql/db_schema.sql /^ casecount int,$/;" F table:Rules
+cases src/main/java/bjc/rgens/newparser/Rule.java /^ private IList<RuleCase> cases;$/;" f class:Rule file:
+containsChar src/main/java/bjc/rgens/text/markov/Markov.java /^ public boolean containsChar(char c) {$/;" m class:Markov
+contents src/main/java/bjc/rgens/newparser/RGrammar.java /^ public StringBuilder contents;$/;" f class:RGrammar.GenerationState
+count src/main/java/bjc/rgens/text/markov/Markov.java /^ int count = 0;$/;" f class:Markov
+count src/main/java/bjc/rgens/text/markov/Markov.java /^ public int count() {$/;" m class:Markov
+createElement src/main/java/bjc/rgens/newparser/CaseElement.java /^ public static CaseElement createElement(String csepart) {$/;" m class:CaseElement
+cse src/main/sql/db_schema.sql /^ cse varchar(255) array$/;" F table:RuleCases
+despaceRule src/main/java/bjc/rgens/newparser/RGrammarBuilder.java /^ public void despaceRule(String ruleName) {$/;" m class:RGrammarBuilder
+distance src/main/java/bjc/rgens/newparser/RGrammar.java /^ public int distance(String x, String y) {$/;" m class:RGrammar.LevenshteinMetric
+elementList src/main/java/bjc/rgens/newparser/RuleCase.java /^ protected IList<CaseElement> elementList;$/;" f class:RuleCase
+end src/main/java/bjc/rgens/newparser/CaseElement.java /^ private int end;$/;" f class:CaseElement file:
+equals src/main/java/bjc/rgens/newparser/Rule.java /^ public boolean equals(Object obj) {$/;" m class:Rule
+exportFrom src/main/java/bjc/rgens/newparser/RGrammarSet.java /^ private Map<String, String> exportFrom;$/;" f class:RGrammarSet file:
+exportRules src/main/java/bjc/rgens/newparser/RGrammar.java /^ private Set<String> exportRules;$/;" f class:RGrammar file:
+exportedFrom src/main/java/bjc/rgens/newparser/RGrammarSet.java /^ public String exportedFrom(String exportName) {$/;" m class:RGrammarSet
+exportedRules src/main/java/bjc/rgens/newparser/RGrammarBuilder.java /^ private Set<String> exportedRules;$/;" f class:RGrammarBuilder file:
+exportedRules src/main/java/bjc/rgens/newparser/RGrammarSet.java /^ private Map<String, RGrammar> exportedRules;$/;" f class:RGrammarSet file:
+first src/main/java/bjc/rgens/text/markov/StandaloneMarkov.java /^ private String first;$/;" f class:StandaloneMarkov file:
+formatGrammar src/main/java/bjc/rgens/newparser/RGrammarFormatter.java /^ public static String formatGrammar(RGrammar gram) {$/;" m class:RGrammarFormatter
+fromConfigFile src/main/java/bjc/rgens/newparser/RGrammarSet.java /^ public static RGrammarSet fromConfigFile(Path cfgFile) throws IOException {$/;" m class:RGrammarSet
+generate src/main/java/bjc/rgens/newparser/RGrammar.java /^ public String generate(String startRule) {$/;" m class:RGrammar
+generate src/main/java/bjc/rgens/newparser/RGrammar.java /^ public String generate(String startRule, Random rnd, Map<String, String> vars) {$/;" m class:RGrammar
+generateCase src/main/java/bjc/rgens/newparser/RGrammar.java /^ private void generateCase(RuleCase start, GenerationState state) {$/;" m class:RGrammar file:
+generateElement src/main/java/bjc/rgens/newparser/RGrammar.java /^ private void generateElement(CaseElement elm, GenerationState state) {$/;" m class:RGrammar file:
+generateExpVarDef src/main/java/bjc/rgens/newparser/RGrammar.java /^ private void generateExpVarDef(String name, String defn, GenerationState state) {$/;" m class:RGrammar file:
+generateExport src/main/java/bjc/rgens/newparser/RGrammars.java /^ public static String generateExport(String exportName) throws GrammarException {$/;" m class:RGrammars
+generateMarkovMap src/main/java/bjc/rgens/text/markov/StandaloneTextGenerator.java /^ public static StandaloneMarkov generateMarkovMap(int order, Reader reader) {$/;" m class:StandaloneTextGenerator
+generateRuleReference src/main/java/bjc/rgens/newparser/RGrammar.java /^ private void generateRuleReference(CaseElement elm, GenerationState state) {$/;" m class:RGrammar file:
+generateSuggestions src/main/java/bjc/rgens/newparser/RGrammar.java /^ public void generateSuggestions() {$/;" m class:RGrammar
+generateTextFromMarkov src/main/java/bjc/rgens/text/markov/StandaloneMarkov.java /^ public String generateTextFromMarkov(int charsToGenerate) {$/;" m class:StandaloneMarkov
+generateVarDef src/main/java/bjc/rgens/newparser/RGrammar.java /^ private static void generateVarDef(String name, String defn, GenerationState state) {$/;" m class:RGrammar file:
+getCase src/main/java/bjc/rgens/newparser/Rule.java /^ public RuleCase getCase() {$/;" m class:Rule
+getCase src/main/java/bjc/rgens/newparser/Rule.java /^ public RuleCase getCase(Random rnd) {$/;" m class:Rule
+getCases src/main/java/bjc/rgens/newparser/Rule.java /^ public IList<RuleCase> getCases() {$/;" m class:Rule
+getCharFrequency src/main/java/bjc/rgens/text/markov/Markov.java /^ public double getCharFrequency(char c) {$/;" m class:Markov
+getDefn src/main/java/bjc/rgens/newparser/CaseElement.java /^ public String getDefn() {$/;" m class:CaseElement
+getElements src/main/java/bjc/rgens/newparser/RuleCase.java /^ public IList<CaseElement> getElements() {$/;" m class:RuleCase
+getEnd src/main/java/bjc/rgens/newparser/CaseElement.java /^ public int getEnd() {$/;" m class:CaseElement
+getExportSource src/main/java/bjc/rgens/newparser/RGrammarSet.java /^ public RGrammar getExportSource(String exportName) {$/;" m class:RGrammarSet
+getExportedRules src/main/java/bjc/rgens/newparser/RGrammar.java /^ public Set<Rule> getExportedRules() {$/;" m class:RGrammar
+getExportedRules src/main/java/bjc/rgens/newparser/RGrammarSet.java /^ public Set<String> getExportedRules() {$/;" m class:RGrammarSet
+getFrequencyCount src/main/java/bjc/rgens/text/markov/Markov.java /^ public int getFrequencyCount(char c) {$/;" m class:Markov
+getGrammar src/main/java/bjc/rgens/newparser/RGrammarSet.java /^ public RGrammar getGrammar(String grammarName) {$/;" m class:RGrammarSet
+getGrammars src/main/java/bjc/rgens/newparser/RGrammarSet.java /^ public Set<String> getGrammars() {$/;" m class:RGrammarSet
+getInitialRule src/main/java/bjc/rgens/newparser/RGrammar.java /^ public String getInitialRule() {$/;" m class:RGrammar
+getLiteral src/main/java/bjc/rgens/newparser/CaseElement.java /^ public String getLiteral() {$/;" m class:CaseElement
+getMap src/main/java/bjc/rgens/text/markov/Markov.java /^ public TreeMap<Character, Integer> getMap() {$/;" m class:Markov
+getName src/main/java/bjc/rgens/newparser/CaseElement.java /^ public String getName() {$/;" m class:CaseElement
+getOrCreateRule src/main/java/bjc/rgens/newparser/RGrammarBuilder.java /^ public Rule getOrCreateRule(String rName) {$/;" m class:RGrammarBuilder
+getPattern src/main/java/bjc/rgens/newparser/RegexRuleCase.java /^ public Pattern getPattern() {$/;" m class:RegexRuleCase
+getRules src/main/java/bjc/rgens/newparser/RGrammar.java /^ public Map<String, Rule> getRules() {$/;" m class:RGrammar
+getStart src/main/java/bjc/rgens/newparser/CaseElement.java /^ public int getStart() {$/;" m class:CaseElement
+gramSet src/main/java/bjc/rgens/newparser/RGrammars.java /^ private static RGrammarSet gramSet;$/;" f class:RGrammars file:
+grammar src/main/java/bjc/rgens/ZadronsPouch.java /^ private RandomGrammar<String> grammar;$/;" f class:ZadronsPouch file:
+grammars src/main/java/bjc/rgens/newparser/RGrammarSet.java /^ private Map<String, RGrammar> grammars;$/;" f class:RGrammarSet file:
+groupId target/maven-archiver/pom.properties /^groupId=bjc$/;" k
+handleBlock src/main/java/bjc/rgens/newparser/RGrammarParser.java /^ private static void handleBlock(RGrammarBuilder build, String block, $/;" m class:RGrammarParser file:
+handlePragma src/main/java/bjc/rgens/newparser/RGrammarParser.java /^ private static void handlePragma(String pragma, RGrammarBuilder build,$/;" m class:RGrammarParser file:
+handlePragmaBlock src/main/java/bjc/rgens/newparser/RGrammarParser.java /^ private static void handlePragmaBlock(String block, RGrammarBuilder build,$/;" m class:RGrammarParser file:
+handleRuleBlock src/main/java/bjc/rgens/newparser/RGrammarParser.java /^ private static void handleRuleBlock(String ruleBlock, RGrammarBuilder build,$/;" m class:RGrammarParser file:
+handleRuleCase src/main/java/bjc/rgens/newparser/RGrammarParser.java /^ private static void handleRuleCase(String cse, RGrammarBuilder build, Rule rul) {$/;" m class:RGrammarParser file:
+handleRuleDecl src/main/java/bjc/rgens/newparser/RGrammarParser.java /^ private static Rule handleRuleDecl(RGrammarBuilder build, String declContents) {$/;" m class:RGrammarParser file:
+handleWhereBlock src/main/java/bjc/rgens/newparser/RGrammarParser.java /^ private static void handleWhereBlock(String block, RGrammarBuilder build,$/;" m class:RGrammarParser file:
+hash src/main/java/bjc/rgens/text/markov/StandaloneMarkov.java /^ private Map<String, Markov> hash;$/;" f class:StandaloneMarkov file:
+hashCode src/main/java/bjc/rgens/newparser/Rule.java /^ public int hashCode() {$/;" m class:Rule
+importRules src/main/java/bjc/rgens/newparser/RGrammar.java /^ private Map<String, RGrammar> importRules;$/;" f class:RGrammar file:
+initialRule src/main/java/bjc/rgens/newparser/RGrammar.java /^ private String initialRule;$/;" f class:RGrammar file:
+initialRule src/main/java/bjc/rgens/newparser/RGrammarBuilder.java /^ private String initialRule;$/;" f class:RGrammarBuilder file:
+literalVal src/main/java/bjc/rgens/newparser/CaseElement.java /^ private String literalVal;$/;" f class:CaseElement file:
+loadSet src/main/java/bjc/rgens/newparser/RGrammars.java /^ private static void loadSet() {$/;" m class:RGrammars file:
+loadedFrom src/main/java/bjc/rgens/newparser/RGrammarSet.java /^ private Map<String, String> loadedFrom;$/;" f class:RGrammarSet file:
+loadedFrom src/main/java/bjc/rgens/newparser/RGrammarSet.java /^ public String loadedFrom(String grammarName) {$/;" m class:RGrammarSet
+main src/main/java/bjc/rgens/ZadronsPouch.java /^ public static void main(String[] args) {$/;" m class:ZadronsPouch
+main src/main/java/bjc/rgens/newparser/RGrammarTest.java /^ public static void main(String[] args) {$/;" m class:RGrammarTest
+main src/main/java/bjc/rgens/text/markov/TextGenerator.java /^ public static void main(String[] args) {$/;" m class:TextGenerator
+map src/main/java/bjc/rgens/text/markov/Markov.java /^ TreeMap<Character, Integer> map;$/;" f class:Markov
+name src/main/java/bjc/rgens/newparser/Rule.java /^ public final String name;$/;" f class:Rule
+name src/main/sql/db_schema.sql /^ name varchar(255) not null,$/;" F table:Rules
+ord src/main/java/bjc/rgens/text/markov/StandaloneMarkov.java /^ private int ord;$/;" f class:StandaloneMarkov file:
+patt src/main/java/bjc/rgens/newparser/RegexRuleCase.java /^ private Pattern patt;$/;" f class:RegexRuleCase file:
+pragmas src/main/java/bjc/rgens/newparser/RGrammarParser.java /^ private static Map<String, TriConsumer<String, RGrammarBuilder, Integer>> pragmas;$/;" f class:RGrammarParser file:
+prefixWith src/main/java/bjc/rgens/newparser/RGrammarBuilder.java /^ public void prefixWith(String ruleName, String prefix) {$/;" m class:RGrammarBuilder
+processCase src/main/java/bjc/rgens/newparser/RGrammarFormatter.java /^ private static void processCase(RuleCase cse, StringBuilder sb) {$/;" m class:RGrammarFormatter file:
+processRule src/main/java/bjc/rgens/newparser/RGrammarFormatter.java /^ private static void processRule(Rule rule, StringBuilder sb) {$/;" m class:RGrammarFormatter file:
+random src/main/java/bjc/rgens/text/markov/Markov.java /^ public char random() {$/;" m class:Markov
+readGrammar src/main/java/bjc/rgens/newparser/RGrammarParser.java /^ public static RGrammar readGrammar(Reader is) throws GrammarException {$/;" m class:RGrammarParser
+regexizeRule src/main/java/bjc/rgens/newparser/RGrammarBuilder.java /^ public void regexizeRule(String rule, String pattern) {$/;" m class:RGrammarBuilder
+replaceCases src/main/java/bjc/rgens/newparser/Rule.java /^ public void replaceCases(IList<RuleCase> cases) {$/;" m class:Rule
+rnd src/main/java/bjc/rgens/newparser/RGrammar.java /^ public Random rnd;$/;" f class:RGrammar.GenerationState
+ruleSearcher src/main/java/bjc/rgens/newparser/RGrammar.java /^ private BkTreeSearcher<String> ruleSearcher;$/;" f class:RGrammar file:
+ruleid src/main/sql/db_schema.sql /^ ruleid serial,$/;" F table:RuleCases
+ruleid src/main/sql/db_schema.sql /^ ruleid serial,$/;" F table:Rules
+rules src/main/java/bjc/rgens/newparser/RGrammar.java /^ private Map<String, Rule> rules;$/;" f class:RGrammar file:
+rules src/main/java/bjc/rgens/newparser/RGrammarBuilder.java /^ private Map<String, Rule> rules;$/;" f class:RGrammarBuilder file:
+serialVersionUID src/main/java/bjc/rgens/newparser/GrammarException.java /^ private static final long serialVersionUID = -7287427479316953668L;$/;" f class:GrammarException file:
+setExportedRules src/main/java/bjc/rgens/newparser/RGrammar.java /^ public void setExportedRules(Set<String> exportedRules) {$/;" m class:RGrammar
+setImportedRules src/main/java/bjc/rgens/newparser/RGrammar.java /^ public void setImportedRules(Map<String, RGrammar> importedRules) {$/;" m class:RGrammar
+setInitialRule src/main/java/bjc/rgens/newparser/RGrammar.java /^ public void setInitialRule(String initRule) {$/;" m class:RGrammar
+setInitialRule src/main/java/bjc/rgens/newparser/RGrammarBuilder.java /^ public void setInitialRule(String init) {$/;" m class:RGrammarBuilder
+start src/main/java/bjc/rgens/newparser/CaseElement.java /^ private int start;$/;" f class:CaseElement file:
+substring src/main/java/bjc/rgens/text/markov/Markov.java /^ String substring;$/;" f class:Markov
+suffixWith src/main/java/bjc/rgens/newparser/RGrammarBuilder.java /^ public void suffixWith(String ruleName, String suffix) {$/;" m class:RGrammarBuilder
+toRGrammar src/main/java/bjc/rgens/newparser/RGrammarBuilder.java /^ public RGrammar toRGrammar() {$/;" m class:RGrammarBuilder
+toString src/main/java/bjc/rgens/newparser/CaseElement.java /^ public String toString() {$/;" m class:CaseElement
+toString src/main/java/bjc/rgens/newparser/Rule.java /^ public String toString() {$/;" m class:Rule
+toString src/main/java/bjc/rgens/text/markov/Markov.java /^ public String toString() {$/;" m class:Markov
+type src/main/java/bjc/rgens/newparser/CaseElement.java /^ public final ElementType type;$/;" f class:CaseElement
+type src/main/java/bjc/rgens/newparser/RuleCase.java /^ public final CaseType type;$/;" f class:RuleCase
+varDef src/main/java/bjc/rgens/newparser/CaseElement.java /^ private String varDef;$/;" f class:CaseElement file:
+varName src/main/java/bjc/rgens/newparser/CaseElement.java /^ private String varName;$/;" f class:CaseElement file:
+vars src/main/java/bjc/rgens/newparser/RGrammar.java /^ public Map<String, String> vars;$/;" f class:RGrammar.GenerationState
+version target/maven-archiver/pom.properties /^version=0.0.1-SNAPSHOT$/;" k
diff --git a/RGens/todos.txt b/RGens/todos.txt
index 8d40f64..e7cc9bd 100644..100755
--- a/RGens/todos.txt
+++ b/RGens/todos.txt
@@ -43,3 +43,11 @@
Once this has been done, consider doing a CLI interface that allows
manipulating and using grammars.
+
+@TODO 5/10/18 Ben Culkin :Despace
+ 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
+ Add some way to sort of 'import' a rules body into another rule so as to
+ not throw off probability by splitting.