diff options
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 Binary files differindex c5a38b7..c5a38b7 100644..100755 --- a/RGens/src/main/java/.DS_Store +++ b/RGens/src/main/java/.DS_Store diff --git a/RGens/src/main/java/bjc/.DS_Store b/RGens/src/main/java/bjc/.DS_Store Binary files differindex 86e50e6..86e50e6 100644..100755 --- a/RGens/src/main/java/bjc/.DS_Store +++ b/RGens/src/main/java/bjc/.DS_Store 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. |
