summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
Diffstat (limited to 'data')
-rwxr-xr-x[-rw-r--r--]data/misc/700000items.gram15
-rwxr-xr-x[-rw-r--r--]data/misc/nimble.gram27
-rwxr-xr-x[-rw-r--r--]data/new-sample-grammars/cbs.gram1387
-rw-r--r--data/new-sample-grammars/drakensang/armor.gram30
-rw-r--r--data/new-sample-grammars/drakensang/gems.gram39
-rw-r--r--data/new-sample-grammars/perchance/meal.gram33
-rwxr-xr-x[-rw-r--r--]data/new-sample-grammars/repinsult.gram13
-rwxr-xr-x[-rw-r--r--]data/rpg-tools-cd/wands.gram80
-rwxr-xr-xdata/sample-grammars/24hr-rpg.gram410
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/acronym.gram13
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/address.gram25
-rwxr-xr-xdata/sample-grammars/anime.gram23
-rwxr-xr-xdata/sample-grammars/art-objects.gram38
-rwxr-xr-xdata/sample-grammars/awe-names.gram10
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/buzzword.gram8
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/career.gram18
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/city.gram22
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/college.gram32
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/company.gram11
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/computer.gram6
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/congress.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/dates.gram0
-rwxr-xr-xdata/sample-grammars/diablo-ii/diabloii.gram37
-rwxr-xr-xdata/sample-grammars/diablo-ii/diabloiiitems.gram24
-rwxr-xr-xdata/sample-grammars/diablo-ii/diabloiiperish.gram5
-rwxr-xr-xdata/sample-grammars/diablo-ii/diabloiiprefixes.gram13
-rwxr-xr-xdata/sample-grammars/diablo-ii/diabloiisuffixes.gram11
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/dungeondressing/abandoned.gram2
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/dungeondressing/bedroom.gram73
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/dungeondressing/dragonencounter.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/dungeondressing/kitchen.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/dungeondressing/monster.gram11
-rw-r--r--data/sample-grammars/eastern-sun/easternsunsocketing.gram5
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/elementals.gram46
-rwxr-xr-xdata/sample-grammars/fantasy-locations.gram42
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/fortune.gram0
-rw-r--r--data/sample-grammars/gemstones.gram48
-rwxr-xr-xdata/sample-grammars/genre-fiction.gram9
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/horror.gram54
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/insults.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/linux.gram101
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/animal.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/canada-province.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/cards.gram58
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/color.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/first-name-female.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/first-name-male.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/geographic-thing.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/last-name.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/letters.gram6
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/nation.gram436
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/numbers.gram19
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/planet.gram2
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/real-city.gram153
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/real-company.gram415
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/relative.gram2
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/roman-numeral.gram6
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/syllables.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/town-name.gram282
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/long-data/tree.gram2
-rwxr-xr-xdata/sample-grammars/martial-arts.gram68
-rwxr-xr-xdata/sample-grammars/mary-sue.gram20
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/media.gram17
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/mission.gram2
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/names.gram514
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/newspaper.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/numbers.gram14
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/ordinal.gram8
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/organization.gram9
-rwxr-xr-xdata/sample-grammars/part-creature.gram16
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/phone-number.gram14
-rwxr-xr-xdata/sample-grammars/pokeattacks.gram47
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/president.gram120
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/rtwiki/adjective.gram4
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/rtwiki/bodyparts.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/rtwiki/class.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/rtwiki/color.gram46
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/rtwiki/creature.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/rtwiki/death-cause.gram6
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/rtwiki/fantasy-name.gram17
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/rtwiki/favorite.gram8
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/rtwiki/guns.gram26
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/rtwiki/item.gram7
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/rtwiki/traits.gram0
-rwxr-xr-xdata/sample-grammars/rune.gram19
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/school.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/slashdot.gram0
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/states.gram100
-rwxr-xr-xdata/sample-grammars/superhero.gram62
-rwxr-xr-xdata/sample-grammars/tarotcard.gram10
-rwxr-xr-xdata/sample-grammars/technobabble.gram11
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/theory.gram9
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/trademark.gram4
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/vaultsofnagoh/turboghoul-hats.gram18
-rwxr-xr-x[-rw-r--r--]data/sample-grammars/web.gram35
-rwxr-xr-xdata/sample-grammars/zadrons-pouch.gram4
-rwxr-xr-x[-rw-r--r--]data/seniordesign/dbdata.gram26
-rw-r--r--data/server-config-sample.cfg119
-rwxr-xr-xdata/server-config-sample.gcfg127
-rwxr-xr-x[-rw-r--r--]data/todos.txt8
100 files changed, 3317 insertions, 2300 deletions
diff --git a/data/misc/700000items.gram b/data/misc/700000items.gram
index 4158dcb..77bb6e7 100644..100755
--- a/data/misc/700000items.gram
+++ b/data/misc/700000items.gram
@@ -1,13 +1,14 @@
-[item-name] [noun]
+[isaac-item-name] {@adjs:=[adj]} [act-isaac-item-name]
-pragma prefix-with [item-name] [post]
-pragma prefix-with [item-name] [adj]
-pragma prefix-with [item-name] [adj]
-pragma prefix-with [item-name] [pre]
+[act-isaac-item-name] [noun]
-pragma suffix-with [item-name] [end]
+pragma prefix-with [act-isaac-item-name] [post]
+pragma prefix-with [act-isaac-item-name] <&1..2> [@adjs]
+pragma prefix-with [act-isaac-item-name] [pre]
-pragma initial-rule [item-name]
+pragma suffix-with [isaac-item-name] [end]
+
+pragma initial-rule [isaac-item-name]
[noun] Boy
Kid
diff --git a/data/misc/nimble.gram b/data/misc/nimble.gram
index 3567777..0408011 100644..100755
--- a/data/misc/nimble.gram
+++ b/data/misc/nimble.gram
@@ -1,18 +1,5 @@
-[nimble-bimble] [bimble]
-
-pragma prefix-with [nimble-bimble] [nimble-plural]
-pragma suffix-with [nimble-bimble] [nimble-plural]
-
-pragma initial-rule [nimble-bimble]
-
-[nimble-plural] [nimble-art] [nimble]
-
-[bimble] bimble
- nimble
- bimble
- nimble
- bimble
- nimble
+[bimble] <^4> bimble
+ <^4> nimble
dindle
symbol
frindle
@@ -27,4 +14,14 @@ pragma initial-rule [nimble-bimble]
while they
a
+[nimble-plural] [nimble-art] [nimble]
+
[nimble] [bimble]
+
+[nimble-bimble] [bimble]
+
+pragma prefix-with [nimble-bimble] [nimble-plural]
+pragma suffix-with [nimble-bimble] [nimble-plural]
+
+pragma initial-rule [nimble-bimble]
+pragma export-rule [nimble]
diff --git a/data/new-sample-grammars/cbs.gram b/data/new-sample-grammars/cbs.gram
index 8d05dd1..a72de3e 100644..100755
--- a/data/new-sample-grammars/cbs.gram
+++ b/data/new-sample-grammars/cbs.gram
@@ -1,58 +1,82 @@
-where
- [boss+codirector] → [boss-co] Director
- .
- [boss+cochief] → [boss-co] Chief
- .
- [boss+cohead] → [boss-co] Head
- .
- [boss+copresident] → [boss-co] President
- .
- [boss+comanager] → [boss-co] Manager
- .
- [boss-managing] → Managing
- Acting
- General
- .
- [boss-vice] → Vice
- Vice
- Vice
- Corporate Vice
- {empty}
- .
- [boss-co] → Co-
- {empty}
- .
-in
- [boss-title] → [boss-vice] [boss+codirector]
- [boss+cochief]
- [boss+cohead]
- [boss-vice] [boss+copresident]
- Supervisor
- [boss+comanager]
-end
-
-[boss-age] → Senior
- {empty}
+#
+# The Corporate Bullshit Generator (CBSG)
+#
+# Sources:
+#
+# - personal notes from long years of professional experience
+# - new words from the Internet by feeding a search
+# engine with sentences of the generator
+# - very valuable, appreciated and proactive contributions
+# from my colleagues and friends, especially:
+# Mili Eppler, Nigel Findlater, Emilio Nualart,
+# Bernhard Maertl, Paul Della Marta, Georges Modol,
+# Andrew Fox, Kurt Dickmann, Georg Bauhaus, Frederic Praca,
+# David Malinge
+# - high-level, responsive empowerments by Ludovic Brenta
+#
+# Legal licensing note:
+#
+# Copyright (c) Gautier de Montmollin 2006 .. 2016
+# CH-8810 Horgen
+# SWITZERLAND
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+#
+# NB: this is the MIT License, as found 12-Sep-2007 on the site
+# http://www.opensource.org/licenses/mit-license.php
+#
+
+[boss-managing] Managing
+ Acting
+ General
+
+[boss-title-vice] Vice
+ Corporate Vice
+
+[boss-title-co] Co-
+
+[boss-title] Director
+ Chief
+ Head
+ President
+ Supervisor
+ Manager
-[boss-exec] → Executive
+pragma prefix-with [boss-title] [boss-title-co] [boss-title-vice]
+
+[boss-age] Senior
+
+[boss-exec] Executive
Principal
- {empty}
- {empty}
-[boss-groupal] → Group
+[boss-groupal] Group
Global
- {empty}
- {empty}
-[boss-department] → Human Resources
- Controlling
- Internal Audit
+[boss-department-1] Human Resources
+ Controllers
+ Internal Audits
Legal
Operations
- Management Office
+ Management Offices
Customer Relations
Client Leadership
- Client Relationship
+ Client Relationships
Business Planning
Business Operations
IT Strategy
@@ -63,24 +87,1267 @@ end
Innovation
Identity
Branding
- Diversity and Exclusion
-
-[boss-departmentrole] → [boss-department]
- [boss-department]
- [boss-department]
- [boss-department]
- [boss-department]
- Visionary
+ Diversity and Inclusion
+
+[boss-department-2] Visionary
Digital
Technical
Manifesto
-[boss-catalyst] → Catalyst
+[boss-department] <^4> [boss-department-1]
+ [boss-department-2]
+
+[boss-officer] Catalyst
Futurist
- Officer
- Officer
+ <^3> Officer
+
+[boss-dept-of] of [boss-department-1]
+
+[boss-type-1] [boss-title]
+
+pragma suffix-with [boss-type-1] [boss-dept-of]
+pragma prefix-with [boss-type-1] [boss-managing] [boss-exec]
+pragma prefix-with [boss-type-1] [boss-age]
+
+[boss-type-2] Chief
+
+pragma prefix-with [boss-type-2] [boss-groupal]
+pragma suffix-with [boss-type-2] [boss-department] [boss-officer]
+
+[boss] [boss-type-1]
+ [boss-type-2]
+
+pragma export-rule [boss]
+
+[thing-atom-inner] mission
+ vision
+ guideline
+ roadmap
+ timeline
+ [matrix-or-so]
+ win-win-solution
+ baseline starting point
+ sign-off
+ escalation
+ system
+ Management Information System
+ Quality Management System
+ planning
+ target
+ calibration
+ Control Information System
+ process
+ talent
+ execution
+ leadership
+ performance
+ solution provider
+ value
+ value creation
+ feedback
+ document
+ bottom line
+ momentum
+ opportunity
+ credibility
+ issue
+ core meeting
+ platform
+ niche
+ content
+ communication
+ goal
+ skill
+ alternative
+ culture
+ requirement
+ potential
+ challenge
+ empowerment
+ benchmarking
+ framework
+ benchmark
+ implication
+ integration
+ enabler
+ control
+ trend
+ business case
+ architecture
+ action plan
+ project
+ review cycle
+ trigger event
+ strategy formulation
+ decision
+ enhanced data capture
+ energy
+ plan
+ initiative
+ priority
+ synergy
+ incentive
+ dialogue
+ concept
+ time-phase
+ projection
+ 009:
+ blended approach
+ eak phrases
+ low hanging fruit
+ forward planning
+ pre-plan
+ pipeline
+ bandwidth
+ brand image
+ paradigm
+ paradigm shift
+ strategic staircase
+ cornerstone
+ executive talent
+ evolution
+ workflow
+ message
+ risk/return profile
+ efficient frontier
+ pillar
+ internal client
+ consistency
+ on-boarding process
+ dotted line
+ action item
+ cost efficiency
+ channel
+ convergence
+ infrastructure
+ metric
+ technology
+ relationship
+ partnership
+ supply-chain
+ portal
+ solution
+ business line
+ white paper
+ scalability
+ innovation
+ Strategic Management System
+ Balanced Scorecard
+ differentiator
+ case study
+ idiosyncrasy
+ benefit
+ say/do ratio
+ segmentation
+ image
+ realignment
+ business model
+ business philosophy
+ business platform
+ methodology
+ profile
+ measure
+ measurement
+ philosophy
+ branding strategy
+ efficiency
+ industry
+ commitment
+ perspective
+ risk appetite
+ best practice
+ brand identity
+ customer centricity
+ shareholder value
+ attitude
+ mindset
+ flexibility
+ granularity
+ engagement
+ pyramid
+ market
+ diversity
+ interdependency
+ scaling
+ asset
+ flow charting
+ value proposition
+ performance culture
+ change
+ reward
+ learning
+ next step
+ delivery framework
+ structure
+ support structure
+ standardization
+ objective
+ footprint
+ transformation process
+ policy
+ sales target
+ ecosystem
+ landscape
+ atmosphere
+ environment
+ core competency
+ market practice
+ operating strategy
+ insight
+ accomplishment
+ correlation
+ touchpoint
+ knowledge transfer
+ correlation
+ capability
+ gamification
+ smooth transition
+ leadership strategy
+ collaboration
+ success factor
+ lever
+ breakthrough
+ open-door policy
+ recalibration
+ wow factor
+ onboarding solution
+ brand pyramid
+ dashboard
+ branding
+ local-for-local strategy
+ cross-sell message
+ up-sell message
+ divisional structure
+ value chain
+ microsegment
+ rollout plan
+ leadership development system
+ architectural approach
+ brand value
+ milestone
+ co-innovation
+ speedup
+ validation
+
+[thing-atom-single] [timeless-event]
+ team building
+ focus
+ strategy
+ planning granularity
+ core business
+ implementation
+ intelligence
+ change management
+ ROE
+ EBITDA
+ enterprise content management
+ excellence
+ trust
+ respect
+ openness
+ transparency
+ Quality Research
+ decision making
+ risk management
+ enterprise risk management
+ leverage
+ diversification
+ successful execution
+ effective execution
+ selectivity
+ optionality
+ expertise
+ awareness
+ broader thinking
+ client focus
+ thought leadership
+ quest for quality
+ ak phrases
+ 360-degree thinking
+ drill-down
+ impetus
+ fairness
+ intellect
+ emotional impact
+ emotional intelligence
+ adaptability
+ stress management
+ self-awareness
+ strategic thinking
+ cross fertilization
+ cross-breeding
+ customer experience
+ centerpiece
+ SWOT analysis
+ responsibility
+ accountability
+ ROI
+ line of business
+ serviceability
+ responsiveness
+ simplicity
+ portfolio shaping
+ knowledge sharing
+ continuity
+ visual thinking
+ interoperability
+ compliance
+ teamwork
+ self-efficacy
+ decision-making
+ line-of-sight
+ scoping
+ line-up
+ predictability
+ recognition
+ investor confidence
+ competitive advantage
+ uniformity
+ connectivity
+ big picture
+ big-picture thinking
+ quality
+ upside focus
+ sustainability
+ resiliency
+ social sphere
+ intuitiveness
+ effectiveness
+ competitiveness
+ resourcefulness
+ informationalization
+ role building
+ talent retention
+ innovativeness
+ Economic Value Creation
+ intellectual capital
+ high quality
+ full range of products
+ technical strength
+ quality assurance
+ specification quality
+ market environment
+ client perspective
+ solution orientation
+ client satisfaction
+ integrity
+ reputation
+ time-to-market
+ innovative edge
+ book value growth
+ global network
+ ability to deliver
+ active differentiation
+ solid profitability
+ core capacity
+ digital economy
+ white-collar productivity
+ white-collar efficiency
+ governance
+ corporate governance
+ business development
+ corporate identity
+ attractiveness
+ design philosophy
+ global footprint
+ risk taking
+ focus on speed
+ business equation
+ edge
+ ownership
+ competitive success
+ discipline
+ knowledge management
+ ability to move fast
+ franchise
+ global reach
+ integrativeness
+ customer footprint
+ time-to-value
+ efficacy
+ DNA
+ dedication
+ ingenuity
+ [thing-atom-inner]
+
+[thing-atom-plural] key target markets
+ style guidelines
+ key performance indicators
+ market conditions
+ market forces
+ market opportunities
+ tactics
+ organizing principles
+ interpersonal skills
+ roles and responsibilities
+ cost savings
+ lessons learned
+ client needs
+ requests / solutions
+ mobile strategies
+ expectations and allocations
+ workshops
+ dynamics
+ options
+ aspirations
+ # @TODO
+ # Once we get plural support, add inner plurals
+
+[thing-atom] [thing-atom-single]
+ [thing-atom-plural]
+
+[matrix-or-so] organization
+ silo
+ matrix
+ cube
+ sphere
+
+[timeless-event] kick-off
+ roll-out
+ client event
+ quarter results
+
+[person-single-spec] steering comittee
+ group
+ project manager
+ [thing-atom] champion
+ community
+ sales manager
+ enabler
+ powerful champion
+ thought leader
+ gatekeeper
+ resource
+ senior support staff
+ brand manager
+ category manager
+ account executive
+ project leader
+ product manager
+ naming committee
+ executive comittee
+ white-collar workforce
+ innovator
+ game changer
+ visionary
+
+[person-single] <^2> [person-single-spec]
+ [boss]
+
+[person-plural] key people
+ human resources
+ customers
+ clients
+ resources
+ team players
+ enablers
+ stakeholders
+ standard-setters
+ partners
+ business leaders
+ thinkers/planners
+ white-collar workers
+ board-level executives
+ key representatives
+ innovators
+ policy makers
+ pioneers
+ game changers
+
+[person] [person-single]
+ [person-plural]
+
+[thing-adjective] efficient
+ strategic
+ constructive
+ proactive
+ strong
+ key
+ global
+ corporate
+ cost-effective
+ focused
+ top-line
+ credible
+ agile
+ holistic
+ new
+ adaptive
+ optimal
+ unique
+ core
+ compliant
+ goal-oriented
+ non-linear
+ problem-solving
+ prioritizing
+ cultural
+ future-oriented
+ potential
+ versatile
+ leading
+ dynamic
+ progressive
+ non-deterministic
+ informed
+ leveraged
+ challenging
+ intelligent
+ controlled
+ educated
+ non-standard
+ underlying
+ centralized
+ decentralized
+ reliable
+ consistent
+ competent
+ prospective
+ collateral
+ functional
+ tolerably expensive
+ organic
+ forward-looking
+ next-level
+ executive
+ seamless
+ spectral
+ balanced
+ effective
+ integrated
+ systematized
+ parallel
+ responsive
+ synchronized
+ compatible
+ carefully thought-out
+ cascading
+ high-level
+ siloed
+ operational
+ future-ready
+ flexible
+ movable
+ right
+ productive
+ evolutionary
+ overarching
+ documented
+ awesome
+ coordinated
+ aligned
+ enhanced
+ control-based
+ industry-standard
+ accepted
+ agreed-upon
+ target
+ customer-centric
+ wide-spectrum
+ well-communicated
+ cutting-edge
+ best-in-class
+ state-of-the-art
+ verifiable
+ solid
+ inspiring
+ growing
+ market-altering
+ vertical
+ emerging
+ differentiating
+ integrative
+ cross-functional
+ measurable
+ well-planned
+ accessible
+ actionable
+ accurate
+ insightful
+ relevant
+ long-term
+ top
+ tactical
+ best-of-breed
+ robust
+ targeted
+ personalized
+ interactive
+ streamlined
+ transparent
+ traceable
+ far-reaching
+ powerful
+ improved
+ executive-level
+ goal-based
+ top-level
+ value-added
+ value-adding
+ streamlining
+ time-honored
+ idiosyncratic
+ sustainable
+ in-depth
+ immersive
+ cross-industry
+ time-phased
+ day-to-day
+ present-day
+ medium-to-long-term
+ profit-maximizing
+ generic
+ granular
+ values-based
+ value-driven
+ well-defined
+ outward-looking
+ scalable
+ strategy-focused
+ promising
+ collaborative
+ scenario-based
+ principle-based
+ vision-setting
+ client-oriented
+ long-established
+ established
+ organizational
+ visionary
+ trusted
+ full-scale
+ firm-wide
+ fast-growth
+ performance-based
+ high-performing
+ high-performance
+ cross-enterprise
+ outsourced
+ situational
+ bottom-up
+ multidisciplinary
+ one-to-one
+ goal-directed
+ intra-organisational
+ high-performing
+ multi-source
+ 360-degree
+ motivational
+ differentiated
+ solutions-based
+ compelling
+ structural
+ go-to-market
+ on-message
+ adequate
+ value-enhancing
+ mission-critical
+ business enabling
+ transitional
+ future
+ game-changing
+ enterprise-wide
+ rock-solid
+ bullet-proof
+ superior
+ genuine
+ alert
+ nimble
+ phased
+ selective
+ macroscopic
+ low-risk high-yield
+ interconnected
+ high-margin
+ resilient
+ high-definition
+ well-crafted
+ fine-grained
+ context-aware
+ multi-tasked
+ feedback-based
+ analytics-based
+ fact-based
+ usage-based
+ multi-channel
+ omni-channel
+ pre-approved
+ specific
+ heart-of-the-business
+ responsible
+ socially conscious
+ results-centric
+ business-led
+ well-positioned
+ end-to-end
+ high-quality
+ siloed
+ modular
+ service-oriented
+ competitive
+ scale-as-you-grow
+ outside-in
+ hyper-hybrid
+ long-running
+ large-scale
+ wide-ranging
+ active
+ stellar
+ dramatic
+ aggressive
+ innovative
+ high-powered
+ above-average
+ result-driven
+ innovation-driven
+ customized
+ outstanding
+ non-mainstream
+ customer-facing
+ consumer-facing
+ unified
+ cooperative
+ laser-focused
+ well-implemented
+ diversifying
+ market-changing
+ metrics-driven
+ pre-integrated
+ solution-oriented
+ impactful
+ world-class
+ turn-key
+ leading-edge
+ next-generation
+ extensible
+ under-the-radar
+ high-grade
+ structured
+ trust-based
+ intra-company
+ inter-company
+ profit-oriented
+ sizeable
+ highly satisfactory
+ bi-face
+ tri-face
+ disruptive
+ technological
+ marketplace
+ fast-evolving
+ open
+ fully networked
+ adoptable
+ trustworthy
+ science-based
+ non-manufacturing
+ multi-divisional
+ controllable
+ high-priority
+ market-driven
+ market-driving
+ ingenious
+ business-for-business
+ inspirational
+ winning
+ boundaryless
+ reality-based
+ customer-focused
+ preemptive
+ location-specific
+ revealing
+ inventory-planning
+ ubiquitous
+ number-one
+ results-oriented
+ socially enabled
+ well-scoped
+ insight-based
+ high-impact
+ technology-driven
+ knowledge-based
+ information-age
+ technology-centered
+ critical
+ cognitive
+ acculturated
+ client-centric
+ comprehensive
+ ground-breaking
+ long-standing
+ accelerating
+ forward-thinking
+ mind-blowing
+ jaw-dropping
+ transformative
+ better-than-planned
+ vital
+ radical
+ expanding
+ fierce
+ single-minded
+ mindful
+ top-down
+ hands-on
+ one-on-one
+ analytic
+
+[growth-superlative] organic
+ double-digit
+ upper single-digit
+ breakout
+ unprecedented
+ unparalleled
+ proven
+ measured
+ xchange fads
+ sustained
+ sustainable
+ robust
+ solid
+ rock-solid
+ healthy
+ incremental
+ significant
+ recurring
+ sizeable
+ rapid
+ breakneck
+ profitable
+ disciplined
+ accelerated
+ impressive
+
+[growth-improvement] growth
+ improvement
+ throughput increase
+ efficency gain
+ yield enhancement
+ expansion
+ productivity improvement
+ gain in task efficency
+ shift in value
+ increase in margins
+ cost reduction
+
+[growth] [growth-superlative] [growth-improvement]
+
+pragma export-rule [growth]
+
+[thing-with-adj] <^3> [thing-adjective] , [thing-adjective] [thing-atom]
+ <^3> [thing-adjective] and [thing-adjective] [thing-atom]
+ <^4> [thing-adjective] [thing-atom]
+ <^2> [thing-adjective] and/or [thing-adjective] [thing-atom]
+ [growth]
+ <^2> [thing-adjective] [thing-adjective] [thing-adjective] [thing-atom]
+
+[thing] [thing-with-adj]
+ [thing-atom]
+
+pragma export-rule [thing]
+
+[bad-things] issues
+ intricacies
+ organizational diseconomies
+ black swans
+ challenging market conditions
+ inefficiencies
+ overlaps
+ known unknowns
+ unknown unknowns
+ soft cycle issues
+ obstacles
+ surprises
+ weaknesses
+ threats
+ barriers to success
+ barriers
+ shortcomings
+ problems
+ uncertainties
+ unfavorable developments
+ consumer/agent disconnects
+ underperforming areas
+ information overloads
+ concerns
+ shortfalls
+ limitations
+ downtimes
+ headwinds
+ subpar returns
+ gaps
+ market gaps
+
+[eventual-adverb-1] interactively
+ credibly
+ quickly
+ proactively
+ 200%
+ 24/7
+ globally
+ culturally
+ technically
+ strategically
+ swiftly
+ cautiously
+ expediently
+ organically
+ carefully
+ significantly
+ conservatively
+ adequately
+ genuinely
+ efficently
+ seamlessly
+ consistently
+ diligently
+ dramatically
+ straightforwardly
+ differentially
+ gradually
+ aggressively
+
+[eventual-adverb] <^3> {empty}
+ [eventual-adverb-1]
+
+[random-article] the
+ our
+ <^4> a
+ <^4> an
+ {empty}
+
+[eventual-postfix-adverb-1] going forward
+ within the industry
+ across the board
+ in this space
+ from the get-go
+ at the end of the day
+ throughout the organization
+ as part of the plan
+ by thinking outside the box
+ using [random-article] [thing]
+ by leveraging [random-article] [thing]
+ taking advantage of [random-article] [thing]
+ within the [matrix-or-so]
+ acroos the [matrix-or-so]
+ across and beyond the [matrix-or-so]
+ resulting in [random-article] [growth]
+ reaped from our [growth]
+ as a consequence of [random-article] [growth]
+ because [random-article] [thing] produce [growth]
+ ahead of schedule
+ , relative to our peers
+ on a transitional basis
+ by expanding boundaries
+ by nurturing talent
+ , as a tier 1 company
+ up-front
+ on-the-fly
+ across our portfolio
+ 50/50
+ up, down, and across the [matrix-or-so]
+ in the marketplace
+ by thinking and acting beyond boundaries
+ at the individual, team and organizational level
+ ensuring [random-article] [thing]
+ over the long term
+ across geographies
+ in the core
+ across industry sectors
+ across the wider Group
+ , paving the way for [random-article] [thing]
+
+[eventual-postfix-adverb] [eventual-postfix-adverb-1]
+ <^4> {empty}
+
+pragma export-rule [eventual-postfix-adverb-1]
+
+[person-verb-thing] manage
+ target
+ streamline
+ improve
+ optimize
+ achieve
+ secure
+ address
+ boost
+ deploy
+ innovate
+ right-scale
+ formulate
+ transition
+ leverage
+ focus on
+ synergize
+ generate
+ analyse
+ integrate
+ empower
+ benchmark
+ learn
+ adapt
+ enable
+ strategize
+ prioritize
+ eak phrases
+ pre-prepare
+ deliver
+ champion
+ embrace
+ enhance
+ engineer
+ envision
+ incentivize
+ maximize
+ visualize
+ whiteboard
+ institutionalize
+ promote
+ overdeliver
+ right-size
+ rebalance
+ re-imagine
+ influence
+ facilitate
+ drive
+ structure
+ standardize
+ accelerate
+ deepen
+ strengthen
+ broaden
+ enforce
+ establish
+ foster
+ build
+ differentiate
+ take a bite out of
+ table
+ flesh out
+ reach out
+ jump-start
+ co-create
+ capitalize on
+ calibrate
+ re-aggregate
+ articulate
+ iterate
+ reinvest in
+ potentiate
+
+[person-verb-badthing] address
+ identify
+ avoid
+ mitigate
+ minimize
+
+[thing-verb-thing] streamline
+ interact with
+ boost
+ generate
+ impact
+ enhance
+ leverage
+ synergize
+ generate
+ empower
+ enable
+ prioritize
+ transfer
+ drive
+ result in
+ promote
+ influence
+ facilitate
+ aggregate
+ architect
+ cultivate
+ engage
+ structure
+ standardize
+ accelerate
+ deepen
+ strengthen
+ enforce
+ foster
+ turbocharge
+ granularize
+ operationalize
+ reconceptualize
+ iterate
+ revolutionise
+
+[thing-verb-person] motivate
+ target
+ enable
+ drive
+ synergize
+ empower
+ prioritize
+ incentivise
+ inspire
+ transfer
+ promote
+ influence
+ strength
+ energize
+ invigorate
+
+[person-verb-def-ending] streamline the process
+ address the overarching issues
+ benchmark the portfolio
+ manage the cycle
+ figure out where we come from, where we are going to
+ maximize the value
+ execute the strategy
+ think out of the box
+ think differently
+ think across the full value chain
+ loop back
+ conversate
+ go forward together
+ achieve efficiencies
+ deliver
+ stay in the mix
+ stay in the zone
+ evolve
+ exceed expectations
+ develop the plan
+ develop the blue print for execution
+ grow and diversify
+ fuel changes
+ nurture talent
+ cultivate talent
+ make it possible
+ manage the portfolio
+ align resources
+ drive the business forward
+ make things happen
+ stay ahead
+ outperform peers
+ surge ahead
+ manage the downside
+ stay in the wings
+ come to a landing
+ shoot it over
+ move the needle
+ connect the dots
+ connect the dots to the end game
+ reset the benchmark
+ take it offline
+ peel the onion
+ drill down
+ get from here to here
+ do things differently
+ stretch the status quo
+ challenge the status quo
+ challenge established ideas
+ increase customer satisfaction
+ enable customer interaction
+ manage the balance
+ turn every stone
+ drive revenue
+ rise to the challenge
+ keep it on the radar
+ stay on trend
+ hunt the business down
+ push the envelope to the tilt
+ execute on priorities
+ stand out from the crowd
+ make the abstract concrete
+ manage the mix
+ grow
+ accelerate the strategy
+ enhance the strength
+ create long-term value
+ meet the challenges
+ move the progress forward
+ do the right projects
+ do the projects right
+ do more with less
+ build winning teams
+ deliver on commitments
+ execute
+ deliver
+ see around the corner
+ meet the surge
+ celebrate the success
+ circle back
+ action forward
+ move forward
+
+[thing-verb-def-ending] add value
+ deliver maximum impact
+
+[thing-verb-ending] <^4> [thing-verb-thing] [random-article] [thing]
+ <^4> [thing-verb-person] the [person]
+ [thing-verb-def-ending]
+
+[person-verb-ending] <^3> [person-verb-def-ending]
+ [person-verb-badthing] [random-article] [bad-things]
+ [person-verb-thing] [random-article] [thing]
+
+[verbphrase-coll-1] [person-verb-ending]
+ [thing-verb-ending]
+
+pragma prefix-with [verbphrase-coll-1] [faukon]
+pragma suffix-with [verbphrase-coll-1] [eventual-postfix-adverb]
+
+pragma export-rule [verbphrase-coll-1]
+
+[faukon] we need to
+ we've got to
+ the reporting unit should
+ controlling should
+ we must activate the [matrix-or-so] to
+ pursuing the route will enable us to
+ we will go the extra mile to
+ we are working hard to
+ we continue to work tirelessly and diligently to
+ we will execute to
+ we will sharpen our business models to
+
+[proposition] [faukon] [person-verb-ending] [eventual-postfix-adverb]
+ <^3> the [person] [eventual-adverb] [person-verb-ending]
+ <^3> [random-article] [thing] [eventual-adverb] [thing-verb-ending] [eventual-postfix-adverb]
+ [thing] and [thing] [eventual-adverb] [thing-verb-ending] [eventual-postfix-adverb]
+ [thing] , [thing] and [thing] [eventual-adverb] [thing-verb-ending] [eventual-postfix-adverb]
+ there can be no [growth] until we can achieve [random-article] [growth]
+ [thing] challenge us to [person-verb-ending]
+ [thing] is all about [thing]
+ there is no alternative to [thing-atom]
+ the key to [thing-atom-single] is [thing-atom-single]
+
+pragma export-rule [proposition]
+
+[articulate-proposition-1] [articulate-proposition] ; this is why [articulate-proposition]
+ [articulate-proposition] ; nevertheless [articulate-proposition]
+ [articulate-proposition] , whereas [articulate-proposition]
+ [articulate-proposition] , while [articulate-proposition]
+ [articulate-proposition] . In the same time, [articulate-proposition]
+ [articulate-proposition] . As a result, [articulate-proposition]
+ [articulate-proposition] , whilst [articulate-proposition]
+ [articulate-proposition-2]
+
+[articulate-proposition-2] our gut feeling is that [proposition]
+ the point is not merely to [person-verb-ending] . The point is to [person-verb-ending]
+ it's not about [random-article] [thing] . It's about [random-article] [thing]
+ our challenge is not to [person-verb-ending] . Our challenge is to [person-verb-ending]
+ going forward, [proposition]
+ actually, [proposition]
+
+[articulate-proposition] <^8> [proposition]
+ [articulate-proposition-1]
+
+pragma export-rule [articulate-proposition]
+
+[sentence] [articulate-proposition] .
+
+pragma export-rule [sentence]
-[boss] → [boss-managing] [boss-age] [boss-exec] [boss-title] of
-[boss-department]
- [boss-groupal] Chief [boss-departmentrole] [boss-catalyst]
+[sentences] <^2> <&1..4> [sentence]
+ <^4> <&4..8> [sentence]
+ <&8..12> [sentence]
+pragma export-rule [sentences]
+pragma initial-rule [sentences]
diff --git a/data/new-sample-grammars/drakensang/armor.gram b/data/new-sample-grammars/drakensang/armor.gram
index d559761..b36d93c 100644
--- a/data/new-sample-grammars/drakensang/armor.gram
+++ b/data/new-sample-grammars/drakensang/armor.gram
@@ -5,9 +5,7 @@
pragma initial-rule [ds-armor]
[dragonknight-armor] [dragonknight-armortype]
- [dragonknight-armorprefix] [dragonknight-armortype]
- [dragonknight-armorprefix] [dragonknight-armortype]
- [dragonknight-armorprefix] [dragonknight-armortype]
+ <^3> [dragonknight-armorprefix] [dragonknight-armortype]
[dragonknight-armortype] jackboots
cloak
@@ -41,9 +39,7 @@ pragma initial-rule [ds-armor]
obsidian steel
[ranger-armor] [ranger-armortype]
- [ranger-armorprefix] [ranger-armortype]
- [ranger-armorprefix] [ranger-armortype]
- [ranger-armorprefix] [ranger-armortype]
+ <^3> [ranger-armorprefix] [ranger-armortype]
[ranger-armortype] shoes
shirt
@@ -65,20 +61,16 @@ pragma initial-rule [ds-armor]
mitts
jerkin
-[ranger-armorprefix] [ranger-armorprefix-1]
- [ranger-armormaterial]
- [ranger-armorprefix-combo]
+[ranger-armorprefix] {empty}
+
+pragma prefix-with [ranger-armorprefix] [ranger-armormaterial] [ranger-armorprefix-1]
+pragma prefix-with [ranger-armorprefix] [ranger-armorprefix-prefix]
[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
@@ -102,9 +94,7 @@ pragma prefix-with [ranger-armorprefix] [ranger-armorprefix-prefix]
sunleather
[spellweaver-armor] [spellweaver-armortype]
- [spellweaver-armorprefix] [spellweaver-armortype]
- [spellweaver-armorprefix] [spellweaver-armortype]
- [spellweaver-armorprefix] [spellweaver-armortype]
+ <^3> [spellweaver-armorprefix] [spellweaver-armortype]
[spellweaver-armortype] cloak
gloves
@@ -117,11 +107,9 @@ pragma prefix-with [ranger-armorprefix] [ranger-armorprefix-prefix]
fist
mask
-[spellweaver-armorprefix] [spellweaver-armorprefix-1]
- [spellweaver-armormaterial]
+[spellweaver-armorprefix] {empty}
-[spellweaver-armorprefix-combo] [spellweaver-armormaterial] [spellweaver-armorprefix-1]
- [spellweaver-armorprefix-1] [spellweaver-armormaterial]
+pragma prefix-with [spellweaver-armorprefix] [spellweaver-armormaterial] [spellweaver-armorprefix-1]
[spellweaver-armorprefix-1] apprentice
acolyte
diff --git a/data/new-sample-grammars/drakensang/gems.gram b/data/new-sample-grammars/drakensang/gems.gram
index 655bdcb..8ce0467 100644
--- a/data/new-sample-grammars/drakensang/gems.gram
+++ b/data/new-sample-grammars/drakensang/gems.gram
@@ -1,12 +1,13 @@
-[ds-gem] [gem-type]
- [gem-type]
+[ds-gem] <^2> [gem-type]
[gem-type] of qaizah
[unique-gem]
+pragma prefix-with [ds-gem] [gem-adjective]
+pragma prefix-with [ds-gem] [gem-quality]
+
pragma initial-rule [ds-gem]
-[gem-quality] [gem-quality-normal]
- [gem-quality-normal]
+[gem-quality] <^2> [gem-quality-normal]
[gem-quality-alt]
[gem-quality-normal] flawed
@@ -19,6 +20,7 @@ pragma initial-rule [ds-gem]
royal
[gem-quality-alt] [gem-quality-alt-1]
+ [gem-quality-alt-2]
[gem-quality-alt-1] lesser
cut
@@ -34,9 +36,6 @@ pragma initial-rule [ds-gem]
festive
solstice
-pragma prefix-with [ds-gem] [gem-adjective]
-pragma prefix-with [ds-gem] [gem-quality]
-
[gem-type] ruby
onyx
sapphire
@@ -45,6 +44,9 @@ pragma prefix-with [ds-gem] [gem-quality]
amethyst
peridot
+pragma prefix-with [gem-type] [gem-descr]
+pragma suffix-with [gem-type] [gem-category]
+
[gem-category] gem
jewel
star
@@ -59,24 +61,23 @@ pragma prefix-with [ds-gem] [gem-quality]
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]
+[unique-gem] [unique-type]
[gem-category]
-[unique-trail] insight
+pragma suffix-with [unique-gem] [unique-trail]
+pragma prefix-with [unique-gem] [unique-lead]
+
+[unique-trail] of [unique-trail-1]
+
+[unique-trail-1] insight
immunity
rage
acceleration
shadows
willpower
+pragma prefix-with [unique-trail-1] [gem-descr]
+
[unique-lead] solstice
fluorite
shadow
@@ -86,6 +87,4 @@ pragma suffix-with [gem-type] [gem-category]
[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]
+pragma prefix-with [unique-type] [gem-descr] [gem-descr]
diff --git a/data/new-sample-grammars/perchance/meal.gram b/data/new-sample-grammars/perchance/meal.gram
new file mode 100644
index 0000000..fa73c23
--- /dev/null
+++ b/data/new-sample-grammars/perchance/meal.gram
@@ -0,0 +1,33 @@
+[meal] It's a [adjective] dish with [type] [main] .
+ The [adjective] [main] is paired with a [size] serving of [condiment] .
+ A [main] with with a bit of [condiment] and some [adjective] [side] on top .
+
+pragma export-rule [meal]
+
+[adjective] vegan
+ Indonesian
+ Italian
+ delicious
+
+[main] risotto
+ pie
+ stir-fry
+ curry
+
+[side] bowl of rice
+ salad
+ fries
+ fried mushrooms
+ pumpkin soup
+
+[type] a [size] serving of
+ well-cooked
+ unusually fresh
+ roasted
+
+[size] [(small||smol)||(large||hueg)||(tiny||teeny)]
+
+[condiment] <^2> pepper
+ salt
+ chili flakes
+ oregano
diff --git a/data/new-sample-grammars/repinsult.gram b/data/new-sample-grammars/repinsult.gram
index 30ac89d..efc4115 100644..100755
--- a/data/new-sample-grammars/repinsult.gram
+++ b/data/new-sample-grammars/repinsult.gram
@@ -181,16 +181,3 @@ pragma initial-rule [rep-insult]
whacko
wing nut
woman
-
-[rude-scapegoat] → AIDS carriers
- Arabs
- atheists
- Bill Clinton
- Bill
- Billary
- blacks
- baby-killer
- Bush-haters
- Canadians
- Canucks
- Can
diff --git a/data/rpg-tools-cd/wands.gram b/data/rpg-tools-cd/wands.gram
index 2bf7cd8..0acbbd4 100644..100755
--- a/data/rpg-tools-cd/wands.gram
+++ b/data/rpg-tools-cd/wands.gram
@@ -1,21 +1,21 @@
-[wand] a wand
- a [material] wand
- a [wand-tip] wand
+[wand] a [wand-tip] wand
a [material] [wand-tip] wand
+ <^2> [untipped-wand]
+
+[untipped-wand] a wand
+ a [material] wand
-pragma suffix-with [wand] [tipped]
-pragma suffix-with [wand] [ornament]
-pragma suffix-with [wand] [inscription]
+pragma suffix-with [untipped-wand] [tipped]
+pragma suffix-with [wand] [ornament] [inscription]
pragma initial-rule [wand]
-[material]
- ivory
+[material] ivory
glass
ash
bone
- [material-metal]
- [material-wood]
+ <^4> [material-metal]
+ <^4> [material-wood]
[tipped] tipped with a [tip]
@@ -24,9 +24,10 @@ pragma initial-rule [wand]
pragma despace-rule [wand-tip]
[ornament] decorated with [ornaments]
+ adorned with [ornaments]
[inscription] inscribed with [inscriptions]
- with a [inscriptions] inscribed on it
+ with [inscriptions] inscribed on it
[material-wood] teak
ironwood
@@ -54,8 +55,8 @@ pragma despace-rule [wand-tip]
dessicated eye
pentagram
crescent moon
- [tip-jewel]
- [tip-metal]
+ <^4> [tip-jewel]
+ <^4> [tip-metal]
[tip-jewel] diamond
amethyst
@@ -77,16 +78,8 @@ pragma despace-rule [wand-tip]
feathers
glitter
leather braids
- [ornaments-sigils]
- [ornaments-creatures]
- [ornaments-elements]
-
-[ornaments-sigils] lucky charms
- hieroglyphs
- alchemy signs
- holy symbols
- unholy symbols
- arcane sigils
+ <^3> [ornaments-creatures]
+ <^3> [ornaments-elements]
[ornaments-elements] waves
lightning
@@ -97,23 +90,50 @@ pragma despace-rule [wand-tip]
dragons
spiders and insects
-[inscriptions] unreadable
- gnomish
+[inscriptions] [inscribed-sigils]
+
+pragma prefix-with [inscriptions] [inscribed-language]
+
+[inscribed-sigils] lucky charms
+ hieroglyphs
+ alchemy signs
+ holy symbols
+ unholy symbols
+ arcane sigils
+ runes
+ scriptures
+ warnings
+
+[inscribed-language] [inscribed-language-mod]
+
+pragma suffix-with [inscribed-language] [inscribed-language-base]
+pragma prefix-with [inscribed-language] [inscribed-mod]
+
+[inscribed-language-base] gnomish
aboleth
- abyssal
aquan
dwarven
draconic
- lost tongue
sphinx
ignan
orcish
elven
dreemspeech
- celestial
- runes
auran
sylvan
terran
- druidic
+
+[inscribed-language-mod] unreadable
+ runic
+ script
infernal
+ celestial
+ abyssal
+ draconic
+ druidic
+
+[inscribed-mod] ancient
+ faint
+ illegible
+ glowing
+ eldritch
diff --git a/data/sample-grammars/24hr-rpg.gram b/data/sample-grammars/24hr-rpg.gram
index e372256..484aa17 100755
--- a/data/sample-grammars/24hr-rpg.gram
+++ b/data/sample-grammars/24hr-rpg.gram
@@ -1,9 +1,11 @@
-[rpg-name] → [rpg-part] , [rpg-part] and [rpg-part]
- [rpg-part] and [rpg-part]
- [rpg-part] / [rpg-part]
- [rpg-part] the [rpg-part]
- [rpg-part] : [rpg-part] the [rpg-part]
- [rpg-part] : [rpg-part] [rpg-part]
+[rpg-name] {@rpgparts:=[rpg-part]} [act-rpg-name]
+
+[act-rpg-name] [@rpgparts] and [@rpgparts]
+ [@rpgparts] / [@rpgparts]
+ [@rpgparts] the [@rpgparts]
+ [@rpgparts] : [@rpgparts] the [@rpgparts]
+ [@rpgparts] : [@rpgparts] [@rpgparts]
+ [@rpgparts] , [@rpgparts] and [@rpgparts]
[rpg-name-phrase] [quote-rpg-name] was just released
[quote-rpg-name] vs [quote-rpg-name] : which is better?
@@ -15,201 +17,201 @@
pragma initial-rule [rpg-name-phrase]
pragma export-rule [rpg-name]
-[rpg-part] → tits
- teeth
- claws
- fluff
- crunch
- tools
- guns
- treachery
- post-apocalyptic
- underwater
- terror
- fast food
- military
- fortress
- pirates
- metalhead
- genies
- insects
- environmentalism
- voodoo
- pitchforks
- inventors
- bomb technicians
- zombies
- vampires
- the 70s
- ninjas
- cards
- rebellion
- cannibals
- beast men
- dancing
- monty python
- energy crisis
- orchestra
- summer
- trolls
- medical
- time manipulation
- hitchhiking
- meteors
- the meaning of life
- literary figures
- wrestlers
- tournament
- imaginary friends
- world leaders
- exploration
- fish
- gods
- trading
- rap battles
- creation
- blurring boundaries
- animals
- bounty hunters
- organized crime
- high school
- cybernetics
- aliens
- contemporary world
- urban fantasy
- Nazis
- robots
- surfers
- gentlemen
- haberdashery
- zeppelins
- demons
- rapscallions
- memory loss
- repetition
- martial arts
- conquistadors
- winter
- mummies
- orcs
- reinterpreted myths
- machinery
- harmony
- motorcycles
- horses
- limited time
- ancient
- sleepovers
- submarines
- ambition
- colors
- marshmallows
- the 90s
- neckbeards
- unicorns
- clothing
- hunting
- world war I
- trees
- magical girls
- game show
- dragons
- recursion
- musicians
- construction
- plants
- cats
- drugs
- surgery
- politics
- cartoons
- athletics
- disease
- computers
- cowboys
- cars
- cooking
- samurai
- spaceships
- dinosaurs
- candy
- krakens
- chainsaws
- fists
- crowbars
- lava
- elf
- emperor
- loch ness monster
- knights
- celebrities
- video games
- elves
- the 2000s
- rush hour traffic
- spandex
- stand-up comedy
- nano-machines
- mutation
- dice
- soft drinks
- labyrinth
- totalitarianism
- prostitutes
- cell phones
- death
- the line at the DMV
- office
- mars
- the sun
- survival
- autumn
- portals
- world war II
- the internet
- brewing
- alternate universe
- tanks
- jewelry
- marketplace
- dungeon building
- business
- coins
- crustaceans
- plumbing
- parasites
- rockets
- electricity
- speed
- reincarnation
- theatrics
- storm chasers
- curiosity
- horror
- tragedy
- big damn heroes
- SCIENCE!
- transhumanism
- spring
- scandal
- desert
- laboratory
- hipsters
- obscure
- dwarves
- outer space
- trains
- religion
- espionage
- small scale
- unicycles
- airplanes
- werewolves
- fashion
- JUSTICE!
- suburbs
- art
- skies
- madness
- economy
- the 60s
+[rpg-part] Tits
+ Teeth
+ Claws
+ Fluff
+ Crunch
+ Tools
+ Guns
+ Treachery
+ Post-Apocalyptic
+ Underwater
+ Terror
+ Fast Food
+ Military
+ Fortress
+ Pirates
+ Metalhead
+ Genies
+ Insects
+ Environmentalism
+ Voodoo
+ Pitchforks
+ Inventors
+ Bomb Technicians
+ Zombies
+ Vampires
+ The 70s
+ Ninjas
+ Cards
+ Rebellion
+ Cannibals
+ Beast Men
+ Dancing
+ Monty Python
+ Energy Crisis
+ Orchestra
+ Summer
+ Trolls
+ Medical
+ Time Manipulation
+ Hitchhiking
+ Meteors
+ The Meaning Of Life
+ Literary Figures
+ Wrestlers
+ Tournament
+ Imaginary Friends
+ World Leaders
+ Exploration
+ Fish
+ Gods
+ Trading
+ Rap Battles
+ Creation
+ Blurring Boundaries
+ Animals
+ Bounty Hunters
+ Organized Crime
+ High School
+ Cybernetics
+ Aliens
+ Contemporary World
+ Urban Fantasy
+ Nazis
+ Robots
+ Surfers
+ Gentlemen
+ Haberdashery
+ Zeppelins
+ Demons
+ Rapscallions
+ Memory Loss
+ Repetition
+ Martial Arts
+ Conquistadors
+ Winter
+ Mummies
+ Orcs
+ Reinterpreted Myths
+ Machinery
+ Harmony
+ Motorcycles
+ Horses
+ Limited Time
+ Ancient
+ Sleepovers
+ Submarines
+ Ambition
+ Colors
+ Marshmallows
+ The 90s
+ Neckbeards
+ Unicorns
+ Clothing
+ Hunting
+ World War I
+ Trees
+ Magical Girls
+ Game Show
+ Dragons
+ Recursion
+ Musicians
+ Construction
+ Plants
+ Cats
+ Drugs
+ Surgery
+ Politics
+ Cartoons
+ Athletics
+ Disease
+ Computers
+ Cowboys
+ Cars
+ Cooking
+ Samurai
+ Spaceships
+ Dinosaurs
+ Candy
+ Krakens
+ Chainsaws
+ Fists
+ Crowbars
+ Lava
+ Elf
+ Emperor
+ Loch Ness Monster
+ Knights
+ Celebrities
+ Video Games
+ Elves
+ The 2000s
+ Rush Hour Traffic
+ Spandex
+ Stand-Up Comedy
+ Nano-Machines
+ Mutation
+ Dice
+ Soft Drinks
+ Labyrinth
+ Totalitarianism
+ Prostitutes
+ Cell Phones
+ Death
+ The Line At The DMV
+ Office
+ Mars
+ The Sun
+ Survival
+ Autumn
+ Portals
+ World War II
+ The Internet
+ Brewing
+ Alternate Universe
+ Tanks
+ Jewelry
+ Marketplace
+ Dungeon Building
+ Business
+ Coins
+ Crustaceans
+ Plumbing
+ Parasites
+ Rockets
+ Electricity
+ Speed
+ Reincarnation
+ Theatrics
+ Storm Chasers
+ Curiosity
+ Horror
+ Tragedy
+ Big Damn Heroes
+ SCIENCE!
+ Transhumanism
+ Spring
+ Scandal
+ Desert
+ Laboratory
+ Hipsters
+ Obscure
+ Dwarves
+ Outer Space
+ Trains
+ Religion
+ Espionage
+ Small Scale
+ Unicycles
+ Airplanes
+ Werewolves
+ Fashion
+ JUSTICE!
+ Suburbs
+ Art
+ Skies
+ Madness
+ Economy
+ The 60s
diff --git a/data/sample-grammars/acronym.gram b/data/sample-grammars/acronym.gram
index ed18cfc..1118732 100644..100755
--- a/data/sample-grammars/acronym.gram
+++ b/data/sample-grammars/acronym.gram
@@ -1,17 +1,16 @@
-[acronym] [acronym-part]
- [acronym-part]
- [acronym-part]
+[acronym] [acronym+1]
+
+[acronym+1] [acronym-phrase]
[acronym-part]
- [acronym-phrase]
pragma initial-rule [acronym]
-pragma despace-rule [acronym]
-
[acronym-phrase] [acronym-part] / [acronym-part]
[acronym-part] - [acronym-part]
-[acronym-part] [join-acronym]
+[acronym-part] [acronym+part]
+
+[acronym+part] [join-acronym]
[dot-acronym]
pragma export-rule [acronym-part]
diff --git a/data/sample-grammars/address.gram b/data/sample-grammars/address.gram
index 44475c4..3ccb738 100644..100755
--- a/data/sample-grammars/address.gram
+++ b/data/sample-grammars/address.gram
@@ -73,30 +73,23 @@ pragma suffix-with [street] [street-suffix]
s.
e.
w.
- [cardinal]
+ <^2> [cardinal]
-[street-suffix] street
- st.
- road
- rd.
+[street-suffix] [street||st.]
+ [road||rd.]
way
- boulevard
- blvd.
- avenue
- ave.
+ [boulevard||blvd.]
+ [avenue||ave.]
place
plaza
court
drive
- highway
- hwy.
- parkway
- pkwy.
+ [highway||hwy.]
+ [parkway||pkwy.]
pike
bypass
-[street-generic] main
- main
+[street-generic] <^2> main
high
independence
division
@@ -128,6 +121,6 @@ pragma suffix-with [street] [street-suffix]
[geographic-thing]
[street-generic-standalone] Broadway
- avenue of the Americas
+ Avenue of the Americas
Kingshighway
El Camino real
diff --git a/data/sample-grammars/anime.gram b/data/sample-grammars/anime.gram
index 85cc7db..887b687 100755
--- a/data/sample-grammars/anime.gram
+++ b/data/sample-grammars/anime.gram
@@ -1,22 +1,23 @@
-[anime-name] [short-anime-name]
- [short-anime-name]
+[anime-name] {@fname:=[first-name]} {@sname:=[second-name]} {@tname:=[third-name]} [act-anime-name]
+
+[act-anime-name] <^2> [short-anime-name]
[long-anime-name]
-[short-anime-name] [first-name]
- [second-name]
- [third-name]
+[short-anime-name] [@fname]
+ [@sname]
+ [@tname]
[long-anime-name] [short-anime-name]
pragma initial-rule [anime-name]
-pragma suffix-with [short-anime-name] [first-name]
-pragma suffix-with [short-anime-name] [second-name]
-pragma suffix-with [short-anime-name] [third-name]
+pragma suffix-with [short-anime-name] [@fname]
+pragma suffix-with [short-anime-name] [@sname]
+pragma suffix-with [short-anime-name] [@tname]
-pragma prefix-with [long-anime-name] [third-name]
-pragma prefix-with [long-anime-name] [second-name]
-pragma prefix-with [long-anime-name] [first-name]
+pragma prefix-with [long-anime-name] [@tname]
+pragma prefix-with [long-anime-name] [@sname]
+pragma prefix-with [long-anime-name] [@fname]
[first-name] Vampire
Cat
diff --git a/data/sample-grammars/art-objects.gram b/data/sample-grammars/art-objects.gram
index c824958..a9ed5af 100755
--- a/data/sample-grammars/art-objects.gram
+++ b/data/sample-grammars/art-objects.gram
@@ -1,24 +1,23 @@
-[art-treasure-group] [art-treasure]
- a choice between [art-treasure] and [art-treasure]
- a choice between [quote-treasure] , [quote-treasure] and [quote-treasure]
- [art-treasure] as well as [art-treasure]
- [quote-treasure] ; [quote-treasure] as well as [quote-treasure]
- [art-treasure] atop [art-treasure]
- [art-treasure] hidden under [art-treasure]
- [art-treasure] lying next to [art-treasure]
- [art-treasure] hiding in [art-treasure]
+[art-treasure-group] {@atreasure:=[art-treasure]} [act-art-treasure-group]
+
+[act-art-treasure-group] <^4> [@atreasure]
+ <^2> a choice between [@atreasure] and [@atreasure]
+ <^2> [@atreasure] as well as [@atreasure]
+ <^2> [@atreasure] atop [@atreasure]
+ <^2> [@atreasure] hidden under [@atreasure]
+ <^2> [@atreasure] lying next to [@atreasure]
+ <^2> [@atreasure] hiding in [@atreasure]
[quote-treasure] hidden among [quote-treasure] and [quote-treasure]
+ [quote-treasure] ; [quote-treasure] as well as [quote-treasure]
+ a choice between [quote-treasure] , [quote-treasure] and [quote-treasure]
pragma initial-rule [art-treasure-group]
-[quote-treasure] ( [art-treasure] )
+[quote-treasure] ( [@atreasure] )
pragma despace-rule [quote-treasure]
-[art-treasure] [unowned-art-treasure]
- [unowned-art-treasure]
- [unowned-art-treasure]
- [unowned-art-treasure]
+[art-treasure] <^4> [unowned-art-treasure]
[owned-art-treasure]
pragma export-rule [art-treasure]
@@ -34,8 +33,7 @@ pragma prefix-with [art-treasure] a(n)
[art-objects] [art-object]
pragma export-rule [art-objects]
-pragma prefix-with [art-objects] [art-object-pref]
-pragma prefix-with [art-objects] [size]
+pragma prefix-with [art-objects] [art-object-pref] [size]
[art-object-pref] counterfeit
ancient
@@ -53,6 +51,7 @@ pragma prefix-with [art-objects] [size]
[epic-art]
[mythic-art]
+pragma enable-descent [art-object] 2
pragma export-rule [art-object]
[size] tiny
@@ -74,7 +73,7 @@ pragma export-rule [art-object]
[statuette-mat] bone
ivory
-[common-goldring] gold ring
+[common-goldring] <^2> gold ring
gold ring with a [common-gem]
gold ring with [common-gem] inlay
gold ring with [common-gem] setting
@@ -83,16 +82,13 @@ pragma export-rule [art-object]
[necklace-mat] necklace
gold bracelet studded with [rare-gem]
gold necklace adorned with [common-gem]
- silver [tiaracrown] decorated with [common-gem]
+ silver [tiara||crown] decorated with [common-gem]
ivory comb with embedded [rare-gem]
gold vestments
[necklace-mat] gold
silver
-[tiaracrown] tiara
- crown
-
[uncommon-goldring] gold ring with [legendary-gem] inlay
gold ring with a [legendary-gem]
gold ring with [legendary-gem] setting
diff --git a/data/sample-grammars/awe-names.gram b/data/sample-grammars/awe-names.gram
index ea27ce1..d15e6b8 100755
--- a/data/sample-grammars/awe-names.gram
+++ b/data/sample-grammars/awe-names.gram
@@ -1,9 +1,9 @@
-[awesome-name] [part]
+[awesome-name] {@parts:=[part]} [act-awesome-name]
-pragma prefix-with [awesome-name] [part]
-pragma prefix-with [awesome-name] [part]
-pragma suffix-with [awesome-name] [part]
-pragma suffix-with [awesome-name] [part]
+[act-awesome-name] [@parts]
+
+pragma prefix-with [act-awesome-name] <&1..2> [@parts]
+pragma suffix-with [act-awesome-name] <&1..2> [@parts]
pragma initial-rule [awesome-name]
diff --git a/data/sample-grammars/buzzword.gram b/data/sample-grammars/buzzword.gram
index d25331f..3aaf2ad 100644..100755
--- a/data/sample-grammars/buzzword.gram
+++ b/data/sample-grammars/buzzword.gram
@@ -1,4 +1,4 @@
-[buzzword-phrase] [buzzwords]
+[buzzword-phrase] <^2> [buzzwords]
[buzzwords] to [buzzwords]
[buzzwords] while [buzzwords]
[buzzwords] in order to [buzzwords]
@@ -6,9 +6,9 @@
pragma initial-rule [buzzword-phrase]
-[buzzwords] [buzzword]
- [buzzword] [buzzword]
- [buzzword] and [buzzword]
+[buzzwords] <^4> [buzzword]
+ <^2> [buzzword] [buzzword]
+ <^2> [buzzword] and [buzzword]
[buzzword] , [buzzword] and [buzzword]
pragma export-rule [buzzwords]
diff --git a/data/sample-grammars/career.gram b/data/sample-grammars/career.gram
index 63142f5..3f527be 100644..100755
--- a/data/sample-grammars/career.gram
+++ b/data/sample-grammars/career.gram
@@ -4,9 +4,7 @@ pragma initial-rule [career-tech-desc]
pragma prefix-with [career-tech-desc] [career-tech-desc-pref]
-pragma suffix-with [career-tech-desc] [career-tech-descsuff]
-pragma suffix-with [career-tech-desc] [career-tech-descsuff]
-pragma suffix-with [career-tech-desc] [career-tech-descsuff]
+pragma suffix-with [career-tech-desc] <&1..2> [career-tech-descsuff]
[career-tech-desc-pref] [career-prefsuf] of the
@@ -22,13 +20,8 @@ pragma suffix-with [career-tech-desc] [career-tech-descsuff]
pragma export-rule [career-techname]
-[career-tech] [career-tech2]
- [career-tech2]
- [career-tech2]
- [career-tech2]
- [career-tech2]
- [career-tech2]
- [quote-career-tech] and [quote-career-tech]
+[career-tech] <^6> [career-tech2]
+ <^3> [quote-career-tech] and [quote-career-tech]
[quote-career-tech] , [quote-career-tech] and [quote-career-tech]
pragma prefix-with [career-tech] [career-tech-desc-pref]
@@ -39,7 +32,8 @@ pragma export-rule [career-tech]
pragma despace-rule [quote-career-tech]
-[career-tech2] [act-career-tech] (reports to the [career-tech] )
+[career-tech2] <^10> [act-career-tech]
+ [act-career-tech] (reports to the [career-tech] )
[act-career-tech] (reports to [full-name-and-title] )
[act-career-tech] paper pusher
@@ -87,7 +81,7 @@ pragma export-rule [act-career-tech]
publisher
publishing
-[career-prefsuf] [career-suffix]
+[career-prefsuf] <^2> [career-suffix]
[career-prefix] [career-suffix]
[career-sufsuf] , [career-prefsuf] of [career-department]
diff --git a/data/sample-grammars/city.gram b/data/sample-grammars/city.gram
index b344d3b..f4a765c 100644..100755
--- a/data/sample-grammars/city.gram
+++ b/data/sample-grammars/city.gram
@@ -31,17 +31,17 @@ pragma despace-rule [act-other-city]
[first-name]
[random-name]
-[town-prefix] [cardinal]
- new
- new
- old
- little
- fort
- lower
- upper
- san
- la
- van
+[town-prefix] <^2> [cardinal]
+ New
+ New
+ Old
+ Little
+ Fort
+ Lower
+ Upper
+ San
+ La
+ Van
[town-suffix] burg
ton
diff --git a/data/sample-grammars/college.gram b/data/sample-grammars/college.gram
index 33b45e3..65b7cb6 100644..100755
--- a/data/sample-grammars/college.gram
+++ b/data/sample-grammars/college.gram
@@ -15,13 +15,11 @@ pragma initial-rule [college-announcement]
[students] students
-pragma prefix-with [students] [course-level]
-pragma prefix-with [students] [course-adj]
+pragma prefix-with [students] [course-level] [course-adj]
[student] student
-pragma prefix-with [student] [course-level]
-pragma prefix-with [student] [course-adj]
+pragma prefix-with [student] [course-level] [course-adj]
[popularity] popularity
popularity among [students]
@@ -122,8 +120,7 @@ pragma suffix-with [course-level1] [class-year]
[course-event] as [course-explored] in [course-group] [course-medium]
[university-subject] as [course-explored] in [course-group] [course-medium]
[course-impactof]
- [course-static]
- [course-static]
+ <^2> [course-static]
[quote-buzzword] ( [course-buzzword2] )
@@ -133,24 +130,22 @@ pragma prefix-with [college-course] [course-prefix]
[course-colonending] : [course-ending]
-pragma suffix-with [college-course] [course-colonending]
-pragma suffix-with [college-course] [course-suffix]
+pragma suffix-with [college-course] [course-colonending] [course-suffix]
pragma export-rule [college-course]
-[course-adjnoun-group] [quote-adjnoun]
- [quote-adjnoun] and [quote-adjnoun]
+[course-adjnoun-group] <^4> [quote-adjnoun]
+ <^2> [quote-adjnoun] and [quote-adjnoun]
[quote-adjnoun] , [quote-adjnoun] and [quote-adjnoun]
-[course-disjoin-adjnoungroup] [quote-adjnoun] or [quote-adjnoun]
+[course-disjoin-adjnoungroup] <^2> [quote-adjnoun] or [quote-adjnoun]
[quote-adjnoun] , [quote-adjnoun] or [quote-adjnoun]
[quote-adjnoun] ( [course-adjnoun] )
[course-adjnoun] [course-prefixednoun]
-pragma prefix-with [course-adjnoun] [course-adj]
-pragma prefix-with [course-adjnoun] [course-adj]
+pragma prefix-with [course-adjnoun] [course-adj] [course-adj]
[condition] condition
experience
@@ -244,7 +239,7 @@ pragma prefix-with [course-adjnoun] [course-adj]
[experience] arts
experience
-[course-prefixednoun] [course-noun]
+[course-prefixednoun] <^2> [course-noun]
post- [course-noun]
pre- [course-noun]
@@ -386,10 +381,7 @@ pragma prefix-with [course-noun] [course-nounprefix]
[study] study
approach
-[course-group] [quote-groups]
- [quote-groups]
- [quote-groups]
- [quote-groups]
+[course-group] <^4> [quote-groups]
[quote-political]
[quote-political] " [org-political] "
@@ -495,8 +487,8 @@ pragma suffix-with [of-group] [course-adjnoun]
[course-life-influence] [course-event]
[course-adjnoun-group]
-[course-lives] [quote-life]
- [quote-life] and [quote-life]
+[course-lives] <^4> [quote-life]
+ <^2> [quote-life] and [quote-life]
[quote-life] , [quote-life] and [quote-life]
[quote-life] ( [course-life] )
diff --git a/data/sample-grammars/company.gram b/data/sample-grammars/company.gram
index 40ea83b..10befff 100644..100755
--- a/data/sample-grammars/company.gram
+++ b/data/sample-grammars/company.gram
@@ -43,15 +43,12 @@ pragma despace-rule [company-root-city]
pragma despace-rule [company-root-name]
-[letter+group] [letters]
- [letters] & [letters]
+[letter+group] <^4> [letters]
+ <^2> [letters] & [letters]
[letters] & [letters] & [letters]
-[letters] [letter]
- [letter]
- [letter]
- [letter] [letter]
- [letter] [letter]
+[letters] <^3> [letter]
+ <^2> [letter] [letter]
[letter] [letter] [letter]
pragma despace-rule [letters]
diff --git a/data/sample-grammars/computer.gram b/data/sample-grammars/computer.gram
index a3a7814..3a86e73 100644..100755
--- a/data/sample-grammars/computer.gram
+++ b/data/sample-grammars/computer.gram
@@ -29,8 +29,7 @@
apl
k
opencomal
- [esoteric-language]
- [esoteric-language]
+ <^2> [esoteric-language]
[esoteric-language] magenta
brainfuck
@@ -39,7 +38,6 @@
malbolge
pragma export-rule [computer-language]
-pragma export-rule [computer-skill]
[computer-skill] html
xml
@@ -51,3 +49,5 @@ pragma export-rule [computer-skill]
sql
asp
php
+
+pragma export-rule [computer-skill]
diff --git a/data/sample-grammars/congress.gram b/data/sample-grammars/congress.gram
index cffe469..cffe469 100644..100755
--- a/data/sample-grammars/congress.gram
+++ b/data/sample-grammars/congress.gram
diff --git a/data/sample-grammars/dates.gram b/data/sample-grammars/dates.gram
index 1ed0daa..1ed0daa 100644..100755
--- a/data/sample-grammars/dates.gram
+++ b/data/sample-grammars/dates.gram
diff --git a/data/sample-grammars/diablo-ii/diabloii.gram b/data/sample-grammars/diablo-ii/diabloii.gram
index df45482..2fcdf24 100755
--- a/data/sample-grammars/diablo-ii/diabloii.gram
+++ b/data/sample-grammars/diablo-ii/diabloii.gram
@@ -1,6 +1,6 @@
-[base-treasures] [base-treasure]
- [quote-treasure] as well as [quote-treasure]
- [quote-treasure] or [quote-treasure]
+[base-treasures] <^4> [base-treasure]
+ <^2> [quote-treasure] as well as [quote-treasure]
+ <^2> [quote-treasure] or [quote-treasure]
[quote-treasure] , and [quote-treasure] as well as [quote-treasure]
[quote-treasure] , [quote-treasure] or [quote-treasure]
@@ -10,29 +10,28 @@ pragma initial-rule [base-treasures]
pragma despace-rule [quote-treasure]
-[base-treasure] a [item]
- a [item]
- a [item]
+[base-treasure] <^3> a [item]
[non-item]
-[non-item] [money]
- [money]
- [money]
- [money]
+[non-item] <^4> [money]
nothing
[money] [diablo-amount] [money-type]
-[diablo-amount] 1
+[diablo-amount] 2
5
10
20
50
+ 50
100
200
500
1000
+# Try to advance with a two out of three chance, 10 attempts
+pragma enable-binomial [diablo-amount] 2 3 10
+
pragma export-rule [diablo-amount]
[money-type] coins
@@ -44,18 +43,14 @@ pragma prefix-with [money-type] [metal-type]
gold
platinum
-[item] [item-types]
- [item-types]
- [item-types]
- [item-types]
- [item-types] [d2-suffix]
- [item-types] [d2-suffix]
- [d2-prefix] [item-types]
- [d2-prefix] [item-types]
+pragma enable-descent [metal-type] 2
+
+[item] <^4> [item-types]
+ <^2> [item-types] [d2-suffix]
+ <^2> [d2-prefix] [item-types]
[d2-prefix] [item-types] [d2-suffix]
-[item-types] [d2-item-type]
- [d2-item-type]
+[item-types] <^2> [d2-item-type]
[ds-items]
[^item]
diff --git a/data/sample-grammars/diablo-ii/diabloiiitems.gram b/data/sample-grammars/diablo-ii/diabloiiitems.gram
index 5fa174b..e638f99 100755
--- a/data/sample-grammars/diablo-ii/diabloiiitems.gram
+++ b/data/sample-grammars/diablo-ii/diabloiiitems.gram
@@ -129,6 +129,7 @@ pragma prefix-with [clubs] [club-prefix]
[club-prefix] spiked
war
+ dire
[spears] javelin
spear
@@ -160,12 +161,9 @@ pragma prefix-with [axes] [axe-size]
hand
[bows] [act-arrow] [quote-count]
- [act-bow]
- [act-bow]
- [act-bow]
- [act-bow]
+ <^4> [act-bow]
-[act-arrow] arrow
+[act-arrow] <^2> arrow
[gem-type] -tipped arrow
[act-bow] bow
@@ -182,12 +180,9 @@ pragma prefix-with [act-bow] [bow-size]
war
[crossbows] [act-bolt] [quote-count]
- [act-crossbow]
- [act-crossbow]
- [act-crossbow]
- [act-crossbow]
+ <^4> [act-crossbow]
-[act-bolt] bolt
+[act-bolt] <^2> bolt
[gem-type] -tipped bolt
[act-crossbow] crossbow
@@ -213,8 +208,7 @@ pragma prefix-with [wands] [wand-type]
[staves] staff
-pragma prefix-with [staves] [staff-type]
-pragma prefix-with [staves] [tree]
+pragma prefix-with [staves] [staff-type] [tree]
pragma prefix-with [staves] [staff-length]
[staff-type] gnarled
@@ -223,6 +217,7 @@ pragma prefix-with [staves] [staff-length]
war
[staff-length] short
+ full
long
[accessories] charm
@@ -233,8 +228,7 @@ pragma prefix-with [staves] [staff-length]
[gems] [gem-type]
-pragma prefix-with [gems] [gem-size]
-pragma prefix-with [gems] [gem-quality]
+pragma prefix-with [gems] [gem-size] [gem-quality]
[gem-quality] chipped
flawed
@@ -258,5 +252,3 @@ pragma prefix-with [gems] [gem-quality]
book
[quote-count] ( [diablo-amount] count )
-
-pragma despace-rule [quote-count]
diff --git a/data/sample-grammars/diablo-ii/diabloiiperish.gram b/data/sample-grammars/diablo-ii/diabloiiperish.gram
index af6c9ec..9338b9c 100755
--- a/data/sample-grammars/diablo-ii/diabloiiperish.gram
+++ b/data/sample-grammars/diablo-ii/diabloiiperish.gram
@@ -39,10 +39,7 @@ pragma prefix-with [perishable-type] [bodypart]
medium
full
-[perishable-effect] [perishable-effect-1]
- [perishable-effect-1]
- [perishable-effect-1]
- [perishable-effect-1]
+[perishable-effect] <^4> [perishable-effect-1]
[perishable-degree] [perishable-effect-1]
[perishable-effect-1] [restore-effect]
diff --git a/data/sample-grammars/diablo-ii/diabloiiprefixes.gram b/data/sample-grammars/diablo-ii/diabloiiprefixes.gram
index 5157115..1a62829 100755
--- a/data/sample-grammars/diablo-ii/diabloiiprefixes.gram
+++ b/data/sample-grammars/diablo-ii/diabloiiprefixes.gram
@@ -1,15 +1,10 @@
-[d2-prefix] [d2-prefix-part]
- [d2-prefix-part]
- [d2-prefix-chain]
+[d2-prefix] <^4> [d2-prefix-part]
+ <^2> [d2-prefix-part] [d2-prefix-part]
+ <^2> [d2-prefix-part] and [d2-prefix-part]
+ [d2-prefix-part] [d2-prefix-part] [d2-prefix-part]
pragma export-rule [d2-prefix]
-[d2-prefix-chain] [d2-prefix-part] [d2-prefix-part]
- [d2-prefix-part] [d2-prefix-part]
- [d2-prefix-part] and [d2-prefix-part]
- [d2-prefix-part] and [d2-prefix-part]
- [d2-prefix-part] [d2-prefix-part] [d2-prefix-part]
-
[d2-prefix-part] [armor-class]
[saving-throw]
[foe-reaction]
diff --git a/data/sample-grammars/diablo-ii/diabloiisuffixes.gram b/data/sample-grammars/diablo-ii/diabloiisuffixes.gram
index f6deea0..7915f9d 100755
--- a/data/sample-grammars/diablo-ii/diabloiisuffixes.gram
+++ b/data/sample-grammars/diablo-ii/diabloiisuffixes.gram
@@ -1,11 +1,6 @@
-[d2-suffix] of [suffix-part]
- of [suffix-part]
- of [suffix-chain]
-
-[suffix-chain] [suffix-part] and [suffix-part]
- [suffix-part] and [suffix-part]
- [suffix-part] and of [suffix-part]
- [suffix-part] and of [suffix-part]
+[d2-suffix] <^4> of [suffix-part]
+ <^2> [suffix-part] and [suffix-part]
+ <^2> [suffix-part] and of [suffix-part]
[suffix-part] , [suffix-part] and [suffix-part]
pragma export-rule [d2-suffix]
diff --git a/data/sample-grammars/dungeondressing/abandoned.gram b/data/sample-grammars/dungeondressing/abandoned.gram
index c9ed653..aecbee4 100644..100755
--- a/data/sample-grammars/dungeondressing/abandoned.gram
+++ b/data/sample-grammars/dungeondressing/abandoned.gram
@@ -1,4 +1,4 @@
-[abandoned] while exploring the abandoned [abandon-place] , a [abandon-person] sneaks up on you [abandon-motion] .
+[abandoned] while exploring the [{empty}||abandoned] [abandon-place] , a [abandon-person] sneaks up on you [abandon-motion] .
pragma initial-rule [abandoned]
diff --git a/data/sample-grammars/dungeondressing/bedroom.gram b/data/sample-grammars/dungeondressing/bedroom.gram
index 8bb9449..1f182c5 100644..100755
--- a/data/sample-grammars/dungeondressing/bedroom.gram
+++ b/data/sample-grammars/dungeondressing/bedroom.gram
@@ -13,9 +13,7 @@ pragma initial-rule [bedroom]
deserted clearing
desert island
abandoned crypt
- [fantasy-location-name]
- [fantasy-location-name]
- [fantasy-location-name]
+ <^3> [fantasy-location-name]
[bedroom-bed] king bed with luxury sheets
messy pile of wet hay
@@ -26,8 +24,7 @@ pragma initial-rule [bedroom]
tropical rope hammock
altar
-pragma prefix-with [bedroom-bed] [bed-prefix]
-pragma prefix-with [bedroom-bed] [sacred-type]
+pragma prefix-with [bedroom-bed] [bed-prefix] [sacred-type]
[bed-prefix] ruined
ancient
@@ -46,21 +43,11 @@ pragma prefix-with [bedroom-bed] [sacred-type]
infernal
angelic
-[bedroom-person] [bed-bones]
- [bed-bones]
+[bedroom-person] <^2> [bed-bones]
jug of moonshine
- [bed-aliveperson]
- [bed-aliveperson]
- [bed-aliveperson]
- [bed-aliveperson]
- [bed-aliveperson]
- [bed-aliveperson]
- [bed-aliveperson]
- [bed-aliveperson]
- [bed-aliveperson]
- [bed-aliveperson]
-
-[bedroom-lying] lying [onin] it
+ <^8> [bed-aliveperson]
+
+[bedroom-lying] lying [on||in] it
draped atop it
prostrated before it
[tied] to it
@@ -84,17 +71,13 @@ pragma prefix-with [bed-aliveperson] [bed-name]
[bed-name] [full-name] , a(n)
[fantasy-name] , a(n)
-[bed-status] [bed-status1]
- [bed-status2]
- [bed-status1] [bed-status2]
- [bed-status2] [bed-status1]
+[bed-status] {empty}
+
+pragma prefix-with [bed-status] [bed-status1] [bed-status2]
[bed-status1] dead
decapitated
- [status-alive]
- [status-alive]
- [status-alive]
- [status-alive]
+ <^4> [status-alive]
[status-alive] unconcious
sleeping
@@ -119,13 +102,8 @@ pragma prefix-with [bed-aliveperson] [bed-name]
roped
shackled
-[onin] on
- in
-
-[bed-bones] [pile] of [bone-status] [bones]
- [pile] of [bone-status] [bones]
- [pile] of [bone-status] [part-human] [bones]
- [pile] of [bone-status] [part-human] [bones]
+[bed-bones] <^2> [pile] of [bone-status] [bones]
+ <^2> [pile] of [bone-status] [part-human] [bones]
[blood-puddle]
[pile] pair
@@ -187,11 +165,7 @@ pragma prefix-with [bed-arist] kidnapped
mannequin
puppet
-pragma prefix-with [bed-doll] [sex]
-pragma prefix-with [bed-doll] [realism]
-
-[sex] sex
- sexy
+pragma prefix-with [bed-doll] [sex||sexy] [realism]
[realism] realistic
unrealistic
@@ -224,20 +198,18 @@ pragma prefix-with [bed-slave] [part-human]
[bed-gender] male
female
-[part-human] [humanoids]
- [part-human2]
+[part-human] <^4> [humanoids]
+ <^2> [half-humans]
+ [quarter-humans]
pragma prefix-with [part-human] [bed-gender]
-[part-human2] [half-humans]
- [quarter-humans]
-
-[half-humans] [half-human]
+[half-humans] <^2> [half-human]
[half-human] , [half-human]
-[quarter-humans] [quarter-human]
- [quarter-human] , [half-human]
- [quarter-human] , [quarter-human]
+[quarter-humans] <^4> [quarter-human]
+ <^2> [quarter-human] , [half-human]
+ <^2> [quarter-human] , [quarter-human]
[quarter-human] , [quarter-human] , [quarter-human]
[quarter-human] , [quarter-human] , [quarter-human] , [quarter-human]
@@ -245,10 +217,7 @@ pragma prefix-with [part-human] [bed-gender]
[quarter-human] quarter- [humanoids]
-[humanoids] [humanoid]
- [humanoid]
- [humanoid]
- [humanoid]
+[humanoids] <^4> [humanoid]
[bed-inhuman]
pragma despace-rule [half-human]
diff --git a/data/sample-grammars/dungeondressing/dragonencounter.gram b/data/sample-grammars/dungeondressing/dragonencounter.gram
index 5c299c3..5c299c3 100644..100755
--- a/data/sample-grammars/dungeondressing/dragonencounter.gram
+++ b/data/sample-grammars/dungeondressing/dragonencounter.gram
diff --git a/data/sample-grammars/dungeondressing/kitchen.gram b/data/sample-grammars/dungeondressing/kitchen.gram
index 23abda4..23abda4 100644..100755
--- a/data/sample-grammars/dungeondressing/kitchen.gram
+++ b/data/sample-grammars/dungeondressing/kitchen.gram
diff --git a/data/sample-grammars/dungeondressing/monster.gram b/data/sample-grammars/dungeondressing/monster.gram
index 47e1417..d3a793e 100644..100755
--- a/data/sample-grammars/dungeondressing/monster.gram
+++ b/data/sample-grammars/dungeondressing/monster.gram
@@ -1,12 +1,17 @@
-[monster] [monster-kind]
+[monster] <^2> [monster-kind]
[monster-prefix] [monster-kind]
pragma initial-rule [monster]
-[monster-prefix] were-
+[monster-prefix] [monster-prefix-tail]
+
+pragma prefix-with [monster-prefix] <&1..3> [monster-prefix-head]
+
+[monster-prefix-tail] were-
half-
quarter-
- vampire
+
+[monster-prefix-head] vampire
giant
diseased
magic
diff --git a/data/sample-grammars/eastern-sun/easternsunsocketing.gram b/data/sample-grammars/eastern-sun/easternsunsocketing.gram
index 3585220..5041177 100644
--- a/data/sample-grammars/eastern-sun/easternsunsocketing.gram
+++ b/data/sample-grammars/eastern-sun/easternsunsocketing.gram
@@ -1,5 +1,4 @@
-[es-socketable] [es-gem]
- [es-gem]
+[es-socketable] <^2> [es-gem]
[es-rune]
[gem-quality] chipped
@@ -9,7 +8,7 @@
extraordinary
perfect
-[es-gem] [gem-1
+[es-gem] [gem-1]
[gem-1]
[gem-2]
[gem-2]
diff --git a/data/sample-grammars/elementals.gram b/data/sample-grammars/elementals.gram
index 30d256f..511f0ec 100644..100755
--- a/data/sample-grammars/elementals.gram
+++ b/data/sample-grammars/elementals.gram
@@ -1,12 +1,9 @@
-[elemental] elemental
- elemental
- elemental
+[elemental] <^3> elemental
[other-elementalcreatures]
[rs-elementype]
pragma prefix-with [elemental] [elemental-types]
-pragma prefix-with [elemental] [elemental-age]
-pragma prefix-with [elemental] [great-less]
+pragma prefix-with [elemental] [elemental-age] [great-less]
pragma suffix-with [elemental] [sgreat-less]
pragma initial-rule [elemental]
@@ -57,22 +54,16 @@ pragma initial-rule [elemental]
primal
eldritch
-[elemental-types] [nhelemental-types]
- [nhelemental-types]
- [nhelemental-types]
- [nhelemental-types]
- [nhelemental-types]
- [nhelemental-types]
+[elemental-types] <^6> [nhelemental-types]
[hybrid-type]
-[nhelemental-types] [quote-type]
- [quote-type]
- [quote-type] / [quote-type]
+[nhelemental-types] <^4> [quote-type]
+ <^2> [quote-type] / [quote-type]
[quote-type] / [quote-type] / [nhelemental-types]
pragma export-rule [elemental-types]
-[hybrid-type] hybrid [hybrid-open] and [hybrid-close]
+[hybrid-type] <^2> hybrid [hybrid-open] and [hybrid-close]
hybrid [hybrid-open] , [nhelemental-types] and [hybrid-close]
[hybrid-open] ( [nhelemental-types]
@@ -87,20 +78,13 @@ pragma despace-rule [hybrid-close]
pragma despace-rule [quote-type]
-[elemental-type] [bare-elemental-type]
- [bare-elemental-type]
- [bare-elemental-type]
- [bare-elemental-type]
- [elemental-adv] [bare-elemental-type]
- [elemental-adv] [bare-elemental-type]
+[elemental-type] <^4> [bare-elemental-type]
+ <^2> [elemental-adv] [bare-elemental-type]
[elemental-adv] [elemental-adv] [bare-elemental-type]
-[bare-elemental-type] [common-element]
- [common-element]
- [runescape-elemental]
- [runescape-elemental]
- [paraquasi-elemental]
- [paraquasi-elemental]
+[bare-elemental-type] <^2> [common-element]
+ <^2> [runescape-elemental]
+ <^2> [paraquasi-elemental]
[other-elemental]
pragma export-rule [elemental-type]
@@ -205,12 +189,8 @@ pragma export-rule [elemental-adv]
blood
soul
-[paraquasi-elemental] [para-elemental]
- [para-elemental]
- [quasi-elemental]
- [quasi-elemental]
- [quasi-elemental]
- [quasi-elemental]
+[paraquasi-elemental] <^2> [para-elemental]
+ <^4> [quasi-elemental]
[paraquasi-elemental]
[para-elemental] ice
diff --git a/data/sample-grammars/fantasy-locations.gram b/data/sample-grammars/fantasy-locations.gram
index 1190d68..95e31a8 100755
--- a/data/sample-grammars/fantasy-locations.gram
+++ b/data/sample-grammars/fantasy-locations.gram
@@ -1,7 +1,8 @@
-[fantasy-location-name] [name2]
+[fantasy-location-name] {@oname=[name1]} [act-fantasy-location-name]
-pragma prefix-with [fantasy-location-name] [name1]
-pragma prefix-with [fantasy-location-name] [name1]
+[act-fantasy-location-name] [name2]
+
+pragma prefix-with [act-fantasy-location-name] <&1..2> [@oname]
pragma initial-rule [fantasy-location-name]
@@ -27,11 +28,11 @@ pragma initial-rule [fantasy-location-name]
drowsy
dry
dusty
- [black-color]
+ [ebon||ebony]
emerald
fleet
fire
- [gold-color]
+ [gold||golden]
good
grace
grand
@@ -46,7 +47,7 @@ pragma initial-rule [fantasy-location-name]
holy
honey
hot
- [ice-type]
+ [ice||icy]
iron
ivory
lilac
@@ -55,16 +56,16 @@ pragma initial-rule [fantasy-location-name]
maple
mighty
night
- [oak-type]
+ [oak||oaken]
onyx
peaceful
pearl
prancing
quartz
queens
- [rain-type]
+ [rain||rainy]
red
- [rose-type]
+ [rose||rosy]
royal
ruby
sable
@@ -76,7 +77,7 @@ pragma initial-rule [fantasy-location-name]
shale
shining
short
- [silk-type]
+ [silk||silken]
silver
sleeping
small
@@ -207,24 +208,3 @@ pragma initial-rule [fantasy-location-name]
way
wolf
wood
-
-[silk-type] silk
- silken
-
-[rose-type] rose
- rosy
-
-[rain-type] rain
- rainy
-
-[oak-type] oak
- oaken
-
-[ice-type] ice
- icy
-
-[black-color] ebon
- ebony
-
-[gold-color] gold
- golden
diff --git a/data/sample-grammars/fortune.gram b/data/sample-grammars/fortune.gram
index 8bfce32..8bfce32 100644..100755
--- a/data/sample-grammars/fortune.gram
+++ b/data/sample-grammars/fortune.gram
diff --git a/data/sample-grammars/gemstones.gram b/data/sample-grammars/gemstones.gram
index 8f8a579..25fedf5 100644
--- a/data/sample-grammars/gemstones.gram
+++ b/data/sample-grammars/gemstones.gram
@@ -1,19 +1,18 @@
-[gemstones] [gemstone]
- [gemstone]
- [gemstone]
+[gemstones] [act-gemstones]
+
+[act-gemstones] <^3> [gemstone]
[gemstone-group]
[gemstone-group] pair of [gemstone]
- [gemstone-sizedesc] pile of [gemstone]
- [gemstone-sizedesc] hoard of [gemstone]
+ pile of [gemstone]
+ hoard of [gemstone]
+
+pragma prefix-with [gemstone-group] [gemstone-sizedesc]
pragma initial-rule [gemstones]
pragma suffix-with [gemstones] jewels
-[gemstone] [gemstone-1]
- [gemstone-1]
- [gemstone-1]
- [gemstone-1]
+[gemstone] <^4> [gemstone-1]
[ds-gem]
[gemstone-1] [common-gem]
@@ -21,14 +20,12 @@ pragma suffix-with [gemstones] jewels
[legendary-gem]
[epic-gem]
+pragma enable-descent [gemstone-1] 2
pragma export-rule [gemstone]
-[gemstone-sizedesc] [size]
- [gemstone-desc]
- [size] [gemstone-desc]
- [gemstone-desc] [size]
+[gemstone-sizedesc] {empty}
-pragma prefix-with [gemstone] [gemstone-sizedesc]
+pragma prefix-with [gemstone-sizedesc] [size] [gemstone-desc]
[size] tiny
miniscule
@@ -70,25 +67,17 @@ pragma export-rule [common-gem]
[quote-commongem] and [quote-commongem] fused together
[quote-legendarygem] of poor [extra-deficit]
-[extra-deficit] [extra-qualities]
- [extra-qualities]
- [extra-qualities]
- [extra-qualities]
+[extra-deficit] <^4> [extra-qualities]
[extra-qualities] but excellent [extra-qualities]
-[extra-quality] [extra-qualities]
- [extra-qualities]
- [extra-qualities]
- [extra-qualities]
+[extra-quality] <^4> [extra-qualities]
[extra-qualities] but poor [extra-qualities]
-[extra-qualities] [extra-quality-part]
- [extra-quality-part]
- [extra-quality-part]
+[extra-qualities] <^3> [extra-quality-part]
[extra-quality-phrase]
-[extra-quality-phrase] [extra-quality-part] and [extra-quality-part]
- [extra-quality-part] and [extra-quality-part]
+[extra-quality-phrase] <^2> [extra-quality-part] and [extra-quality-part]
+ <^2> [extra-quality-part] and [extra-quality-part]
[extra-quality-part] , [extra-quality-part] and [extra-quality-part]
[extra-quality-part] size
@@ -119,10 +108,7 @@ pragma export-rule [rare-gem]
pragma despace-rule [quote-raregem]
pragma export-rule [legendary-gem]
-[epic-gem] [epic-gem-1]
- [epic-gem-1]
- [epic-gem-1]
- [epic-gem-1]
+[epic-gem] <^4> [epic-gem-1]
[ds-gem]
[epic-gem-1] diamond
diff --git a/data/sample-grammars/genre-fiction.gram b/data/sample-grammars/genre-fiction.gram
index 92437d7..997b2af 100755
--- a/data/sample-grammars/genre-fiction.gram
+++ b/data/sample-grammars/genre-fiction.gram
@@ -1,9 +1,6 @@
[genre-fict] in a [setting] a young [person] stumbles across a(n) [place] [genre-fict2]
-# Uncomment me when we're done testing, because this rule takes a while to
-# generate
pragma initial-rule [genre-fict]
-pragma export-rule [genre-fict]
[genre-fict2] which spurs him into conflict with [antagonist] [genre-fict3]
@@ -91,9 +88,9 @@ pragma export-rule [genre-fict]
humanity’s selfish nature
his own insecurity vis-a-vis girls
-[female] [female]
- [female] [fem-suffix]
- [fem-prefix] [female]
+[female] <^4> [female]
+ <^2> [female] [fem-suffix]
+ <^2> [fem-prefix] [female]
[fem-prefix] [female] [fem-suffix]
[fem-prefix] sarcastic
diff --git a/data/sample-grammars/horror.gram b/data/sample-grammars/horror.gram
index 07d84de..d95b468 100644..100755
--- a/data/sample-grammars/horror.gram
+++ b/data/sample-grammars/horror.gram
@@ -2,32 +2,32 @@
pragma initial-rule [horror-movie]
-[first] attack of the
- invasion of the
- day of the
- beware! The
- terror of the
- death by
- curse of the
- earth vs. the
- return of the
+[first] Attack of the
+ Invasion of the
+ Day of the
+ Beware! The
+ Terror of the
+ Death by
+ Curse of the
+ Earth vs. the
+ Return of the
-[second] disco
- massive
- worrying
- flying
- flesh eating
- windy
- mutant
- hairy
- overly keen
+[second] Disco
+ Massive
+ Worrying
+ Flying
+ Flesh eating
+ Windy
+ Mutant
+ Hairy
+ Overly keen
-[third] vampires
- swamp beasts
- boy bands
- muffins
- werewolves
- zombies
- sock puppets
- death bots
- snuggle badgers
+[third] Vampires
+ Swamp Beasts
+ Boy Bands
+ Muffins
+ Werewolves
+ Zombies
+ Sock Puppets
+ Death Bots
+ Snuggle Badgers
diff --git a/data/sample-grammars/insults.gram b/data/sample-grammars/insults.gram
index 98a7a8e..98a7a8e 100644..100755
--- a/data/sample-grammars/insults.gram
+++ b/data/sample-grammars/insults.gram
diff --git a/data/sample-grammars/linux.gram b/data/sample-grammars/linux.gram
index ad18d65..7c6ca85 100644..100755
--- a/data/sample-grammars/linux.gram
+++ b/data/sample-grammars/linux.gram
@@ -4,11 +4,8 @@ pragma initial-rule [linux-domain]
[actual+linux-domain] [linux-domainname] . [big-tld]
-[linux-domainname] [linux-domain1] [linux-domain2]
- [linux-domain1] [linux-domain2]
- [linux-domain1] [linux-domain2]
- [linux-domain1] [linux-domain1]
- [linux-domain1] [linux-domain1]
+[linux-domainname] <^3> [linux-domain1] [linux-domain2]
+ <^2> [linux-domain1] [linux-domain1]
[linux-domain1] [linux-domain1] [linux-domain2]
[linux-domain1] [linux-domain1] - [linux-domain2]
[linux-domain1] - [linux-domain2]
@@ -583,8 +580,7 @@ pragma export-rule [geek-scifi-book]
[monitor] monitor
-pragma prefix-with [monitor] [monitor-resolution]
-pragma prefix-with [monitor] [monitor-type]
+pragma prefix-with [monitor] [monitor-resolution] [monitor-type]
[monitor-resolution] 4k
1080p
@@ -604,7 +600,7 @@ pragma prefix-with [monitor] [monitor-type]
[peripheral-interface] scsi
ide
parallel
- [usb]
+ <^3> [usb]
firewire 400
firewire 800
serial
@@ -663,11 +659,7 @@ pragma export-rule [peripheral]
pragma export-rule [freshmeat-url]
-[freshmeat+url] http://freshmeat.net/news/ [digit] / [digit] / [freshmeat-group1] / [freshmeat-group2] .html
-
-[freshmeat-group1] [digit] [digit] [digit] [digit]
-
-[freshmeat-group2] [digit] [digit] [digit] [digit] [digit] [digit] [digit] [digit] [digit]
+[freshmeat+url] http://freshmeat.net/news/ [0..9] / [0..9] / <&4> [0..9] / <&9> [0..9] .html
[freshmeat-desc] [app-type] [app-suffix]
[app-type] [app-suffix] for [freshmeat-for]
@@ -709,61 +701,58 @@ pragma export-rule [freshmeat-desc]
[freshmeat-app] [app-name] [app-version]
-[app-name] [app-name-simple]
- [app-name-simple]
- [app-name-simple]
+[app-name] <^3> [app-name-simple]
[app-name-complex]
pragma export-rule [app-name]
[app-name-simple] [app-name+simple]
-[app-name+simple] [acronym]
- [acronym]
- [acronym]
- [app-prefix] [acronym]
- [app-prefix] [syllable] [letter]
- [app-prefix] [syllable] 2 [syllable]
- [acronym]
+[app-name+simple] <^3> [acronym]
+ <^3> [letter-syll]
+ [syllable] 2 [syllable]
[letter] [acronym]
[random-name]
[last-name]
[syllable] [syllable]
- [letter] [syllable]
- [letter] [letter] [letter]
- [letter] [letter] [letter] [letter]
- [letter] [letter] [letter] [letter]
- [letter] [letter] [letter] [letter]
- [letter] [letter] [letter] [number-word]
- [app-prefix] [acronym]
- [app-prefix] [random-name]
- [app-prefix] [letter] [letter] [letter] [letter]
+ <&3> [letter]
+ <^4> <&4> [letter]
+ <&3> [letter] [number-word]
+ [random-name]
[app-common]
-[app-name-complex] [plural+first] [app-type] [app-suffix]
- [plural+first] [app-suffix]
+[letter-syll] {empty}
+
+pragma prefix-with [letter-syll] [syllable] [letter]
+
+pragma prefix-with [app-name+simple] [app-prefix]
+
+[app-name-complex] [plural+first] [app-type]
+ [plural+first]
+ <^2> [acronym] [app-type]
[acronym] [app-type]
- [acronym] [app-type] [app-suffix]
- [app-type] [app-suffix]
- [2+syllable] [app-type] [app-suffix]
- [random-name] [app-suffix]
- [app-prefix+letter] [app-suffix]
- [app-prefix+syllable] [app-type] [app-suffix]
- [app-common] [app-type] [app-suffix]
+ [app-type]
+ [2+syllable] [app-type]
+ [random-name]
+ [app-prefix+letter]
+ [app-prefix+syllable] [app-type]
+ [app-common] [app-type]
[tech-company] [peripheral] [device-type]
- [buzzword-adjective] [app-suffix]
+ [buzzword-adjective]
[plural+first] [buzzword-adjective] [buzzword-noun] [buzzword-job]
[acronym] [buzzword-noun]
- [app-prefix+name] [buzzword-adjective] [buzzword-job] [app-suffix]
+ [app-prefix+name] [buzzword-adjective] [buzzword-job]
[random-name] [buzzword-job]
- [buzzword-adjective] [buzzword-noun] [app-suffix]
+ [buzzword-adjective] [buzzword-noun]
[linux-distro]
+pragma suffix-with [app-name-complex] [app-suffix]
+
[device-type] 'WRITE ME'
[app-prefix+name] [app-prefix] [random-name]
-[app-prefix+letter] [app-prefix] [letter] [letter] [letter] [letter]
+[app-prefix+letter] [app-prefix] <&4> [letter]
[app-prefix+syllable] [app-prefix] [syllable] [syllable]
@@ -885,14 +874,14 @@ pragma export-rule [app-name]
[app-version] [app+version]
[app+version] 0.0. [1..20] [version-suffix]
- 0. [digit-nonzero] . [0..30]
+ 0. [1..9] . [0..30]
1.0. [0..30]
- 1. [digit-nonzero] . [0..30] [version-suffix]
- 2. [digit] . [0..30]
- 2. [digit] . [0..30] [version-suffix]
- [3..9] . [digit] . [0..30]
- 0.0 [digit] [version-suffix]
- 0. [digit]
+ 1. [1..9] . [0..30] [version-suffix]
+ 2. [0..9] . [0..30]
+ 2. [0..9] . [0..30] [version-suffix]
+ [3..9] . [0..9] . [0..30]
+ 0.0 [0..9] [version-suffix]
+ 0. [0..9]
0. [1..99]
1.0 [version-suffix]
1.00
@@ -900,13 +889,13 @@ pragma export-rule [app-name]
1. [1..99] [version-suffix]
[2..20] . [1..99] [version-suffix]
-[version-suffix] pl [digit]
+[version-suffix] pl [0..9]
alpha
beta
- [1..30]
[letter]
- -ac [digit]
- -pre [digit]
+ -ac [0..9]
+ -pre [0..9]
[linux-kernel-version] [linux-kernel+version]
@@ -914,7 +903,7 @@ pragma export-rule [app-name]
2.3. [50..99]
2.4.0-pre [1..30]
2.4.0-ac [1..30]
- 2.4. [digit]
+ 2.4. [0..9]
2.5. [0..99]
[2..4] . [6..9] . [0..99]
diff --git a/data/sample-grammars/long-data/animal.gram b/data/sample-grammars/long-data/animal.gram
index 8ce3b9d..8ce3b9d 100644..100755
--- a/data/sample-grammars/long-data/animal.gram
+++ b/data/sample-grammars/long-data/animal.gram
diff --git a/data/sample-grammars/long-data/canada-province.gram b/data/sample-grammars/long-data/canada-province.gram
index 8210d42..8210d42 100644..100755
--- a/data/sample-grammars/long-data/canada-province.gram
+++ b/data/sample-grammars/long-data/canada-province.gram
diff --git a/data/sample-grammars/long-data/cards.gram b/data/sample-grammars/long-data/cards.gram
index 51a86d4..1888be5 100644..100755
--- a/data/sample-grammars/long-data/cards.gram
+++ b/data/sample-grammars/long-data/cards.gram
@@ -2,6 +2,7 @@
[tarot-card]
[complete-many-things]
[harrowed-many-things]
+ [alt-tarot-card]
pragma initial-rule [card]
@@ -14,47 +15,21 @@ pragma export-rule [playing-card]
spades
diamonds
-[playing-rank] [rank-two]
- [rank-three]
- [rank-four]
- [rank-five]
- [rank-six]
- [rank-seven]
- [rank-eight]
- [rank-nine]
- [rank-ten]
+[playing-rank] <^8> [playing-rank-num]
jack
king
queen
ace
-[rank-two] 2
- deuce
- two
-
-[rank-three] 3
- three
-
-[rank-four] 4
- four
-
-[rank-five] 5
- five
-
-[rank-six] 6
- six
-
-[rank-seven] 7
- seven
-
-[rank-eight] 8
- eight
-
-[rank-nine] 9
- nine
-
-[rank-ten] 10
- ten
+[playing-rank-num] [2||deuce||two]
+ [3||three]
+ [4||four]
+ [5||five]
+ [6||six]
+ [7||seven]
+ [8||eight]
+ [9||nine]
+ [10||ten]
[tarot-card] [minor-arcana]
[major-arcana]
@@ -73,17 +48,10 @@ pragma export-rule [tarot-card]
[major-arcana2]
pragma export-rule [major-arcana]
+pragma export-rule [minor-arcana]
[minor-rank] ace
- [rank-two]
- [rank-three]
- [rank-four]
- [rank-five]
- [rank-six]
- [rank-seven]
- [rank-eight]
- [rank-nine]
- [rank-ten]
+ <^8> [playing-rank-num]
knave
page
jack
diff --git a/data/sample-grammars/long-data/color.gram b/data/sample-grammars/long-data/color.gram
index c71d04d..c71d04d 100644..100755
--- a/data/sample-grammars/long-data/color.gram
+++ b/data/sample-grammars/long-data/color.gram
diff --git a/data/sample-grammars/long-data/first-name-female.gram b/data/sample-grammars/long-data/first-name-female.gram
index 0bdfc8b..0bdfc8b 100644..100755
--- a/data/sample-grammars/long-data/first-name-female.gram
+++ b/data/sample-grammars/long-data/first-name-female.gram
diff --git a/data/sample-grammars/long-data/first-name-male.gram b/data/sample-grammars/long-data/first-name-male.gram
index 5642f9a..5642f9a 100644..100755
--- a/data/sample-grammars/long-data/first-name-male.gram
+++ b/data/sample-grammars/long-data/first-name-male.gram
diff --git a/data/sample-grammars/long-data/geographic-thing.gram b/data/sample-grammars/long-data/geographic-thing.gram
index 178bd7f..178bd7f 100644..100755
--- a/data/sample-grammars/long-data/geographic-thing.gram
+++ b/data/sample-grammars/long-data/geographic-thing.gram
diff --git a/data/sample-grammars/long-data/last-name.gram b/data/sample-grammars/long-data/last-name.gram
index b99a40c..b99a40c 100644..100755
--- a/data/sample-grammars/long-data/last-name.gram
+++ b/data/sample-grammars/long-data/last-name.gram
diff --git a/data/sample-grammars/long-data/letters.gram b/data/sample-grammars/long-data/letters.gram
index f561b99..3c1440a 100644..100755
--- a/data/sample-grammars/long-data/letters.gram
+++ b/data/sample-grammars/long-data/letters.gram
@@ -125,10 +125,6 @@ pragma export-rule [letter]
pragma export-rule [middle-initial]
-[vowel] a
- e
- i
- o
- u
+[vowel] [a||e||i||o||u]
pragma export-rule [vowel]
diff --git a/data/sample-grammars/long-data/nation.gram b/data/sample-grammars/long-data/nation.gram
index d15788d..14ef8e5 100644..100755
--- a/data/sample-grammars/long-data/nation.gram
+++ b/data/sample-grammars/long-data/nation.gram
@@ -1,220 +1,220 @@
-[nation] afghanistan
- albania
- algeria
- american samoa
- andorra
- angola
- anguilla
- antarctica
- antigua
- argentina
- armenia
- aruba
- australia
- austria
- azerbaijan
- bahamas
- bahrain
- bangladesh
- barbados
- belarus
- belgium
- belize
- benin
- bermuda
- bhutan
- bolivia
- bosnia and herzegovina
- botswana
- brazil
- brunei
- bulgaria
- burkina faso
- burma
- burundi
- cambodia
- cameroon
- canada
- cape verde
- central african republic
- chad
- chile
- china
- colombia
- comoros
- congo
- cook islands
- costa rica
- cote d'ivoire
- croatia
- cuba
- cyprus
- czech republic
- denmark
- djibouti
- dominica
- dominican republic
- ecuador
- egypt
- el salvador
- equatorial guinea
- eritrea
- estonia
- ethiopia
- falkland islands
- fiji
- finland
- france
- french guiana
- french polynesia
- gabon
- the gambia
- georgia
- germany
- ghana
- gibraltar
- greece
- greenland
- grenada
- guadeloupe
- guam
- guatemala
- guinea
- guinea-bissau
- guyana
- haiti
- the holy see
- honduras
- hong kong
- hungary
- iceland
- india
- indonesia
- iran
- iraq
- ireland
- israel
- italy
- jamaica
- japan
- jordan
- kazakhstan
- kenya
- kiribati
- kuwait
- kyrgyzstan
- laos
- latvia
- lebanon
- lesotho
- liberia
- libya
- liechtenstein
- lithuania
- luxembourg
- macau
- macedonia
- madagascar
- malawi
- malaysia
- maldives
- mali
- malta
- marshall islands
- martinique
- mauritania
- mauritius
- mayotte
- mexico
- federated states of micronesia
- moldova
- monaco
- mongolia
- montserrat
- morocco
- mozambique
- namibia
- nauru
- nepal
- netherlands
- netherlands antilles
- new caledonia
- new zealand
- nicaragua
- niger
- nigeria
- north korea
- northern mariana islands
- norway
- oman
- pakistan
- palau
- panama
- papua new guinea
- paraguay
- peru
- philippines
- pitcairn islands
- poland
- portugal
- puerto rico
- qatar
- reunion
- romania
- russia
- rwanda
- saint kitts and nevis
- saint lucia
- saint pierre and miquelon
- saint vincent and the grenadines
- samoa
- san marino
- sao tome and principe
- saudi arabia
- senegal
- seychelles
- sierra leone
- singapore
- slovakia
- slovenia
- solomon islands
- somalia
- south africa
- south korea
- spain
- sri lanka
- sudan
- suriname
- swaziland
- sweden
- switzerland
- syria
- taiwan
- tajikistan
- tanzania
- thailand
- togo
- tonga
- trinidad and tobago
- tunisia
- turkey
- turkmenistan
- turks and caicos islands
- tuvalu
- uganda
- ukraine
- united arab emirates
- united kingdom
- united states
- uruguay
- uzbekistan
- vanuatu
- venezuela
- vietnam
- western sahara
- yemen
- zaire
- zambia
- zimbabwe
+[nation] Afghanistan
+ Albania
+ Algeria
+ American samoa
+ Andorra
+ Angola
+ Anguilla
+ Antarctica
+ Antigua
+ Argentina
+ Armenia
+ Aruba
+ Australia
+ Austria
+ Azerbaijan
+ Bahamas
+ Bahrain
+ Bangladesh
+ Barbados
+ Belarus
+ Belgium
+ Belize
+ Benin
+ Bermuda
+ Bhutan
+ Bolivia
+ Bosnia and Herzegovina
+ Botswana
+ Brazil
+ Brunei
+ Bulgaria
+ Burkina faso
+ Burma
+ Burundi
+ Cambodia
+ Cameroon
+ Canada
+ Cape verde
+ Central African Republic
+ Chad
+ Chile
+ China
+ Colombia
+ Comoros
+ Congo
+ Cook Islands
+ Costa Rica
+ Cote d'Ivoire
+ Croatia
+ Cuba
+ Cyprus
+ Czech Republic
+ Denmark
+ Djibouti
+ Dominica
+ Dominican Republic
+ Ecuador
+ Egypt
+ El Salvador
+ Equatorial Guinea
+ Eritrea
+ Estonia
+ Ethiopia
+ Falkland Islands
+ Fiji
+ Finland
+ France
+ French Guiana
+ French Polynesia
+ Gabon
+ The Gambia
+ Georgia
+ Germany
+ Ghana
+ Gibraltar
+ Greece
+ Greenland
+ Grenada
+ Guadeloupe
+ Guam
+ Guatemala
+ Guinea
+ Guinea-Bissau
+ Guyana
+ Haiti
+ The Holy See
+ Honduras
+ Hong Kong
+ Hungary
+ Iceland
+ India
+ Indonesia
+ Iran
+ Iraq
+ Ireland
+ Israel
+ Italy
+ Jamaica
+ Japan
+ Jordan
+ Kazakhstan
+ Kenya
+ Kiribati
+ Kuwait
+ Kyrgyzstan
+ Laos
+ Latvia
+ Lebanon
+ Lesotho
+ Liberia
+ Libya
+ Liechtenstein
+ Lithuania
+ Luxembourg
+ Macau
+ Macedonia
+ Madagascar
+ Malawi
+ Malaysia
+ Maldives
+ Mali
+ Malta
+ Marshall Islands
+ Martinique
+ Mauritania
+ Mauritius
+ Mayotte
+ Mexico
+ Federated States Of Micronesia
+ Moldova
+ Monaco
+ Mongolia
+ Montserrat
+ Morocco
+ Mozambique
+ Namibia
+ Nauru
+ Nepal
+ Netherlands
+ Netherlands Antilles
+ New Caledonia
+ New Zealand
+ Nicaragua
+ Niger
+ Nigeria
+ North Korea
+ Northern Mariana Islands
+ Norway
+ Oman
+ Pakistan
+ Palau
+ Panama
+ Papua New Guinea
+ Paraguay
+ Peru
+ Philippines
+ Pitcairn Islands
+ Poland
+ Portugal
+ Puerto Rico
+ Qatar
+ Reunion
+ Romania
+ Russia
+ Rwanda
+ Saint Kitts and Nevis
+ Saint Lucia
+ Saint Pierre and Miquelon
+ Saint Vincent and The Grenadines
+ Samoa
+ San Marino
+ Sao Tome and Principe
+ Saudi Arabia
+ Senegal
+ Seychelles
+ Sierra Leone
+ Singapore
+ Slovakia
+ Slovenia
+ Solomon Islands
+ Somalia
+ South Africa
+ South Korea
+ Spain
+ Sri Lanka
+ Sudan
+ Suriname
+ Swaziland
+ Sweden
+ Switzerland
+ Syria
+ Taiwan
+ Tajikistan
+ Tanzania
+ Thailand
+ Togo
+ Tonga
+ Trinidad and Tobago
+ Tunisia
+ Turkey
+ Turkmenistan
+ Turks and Caicos Islands
+ Tuvalu
+ Uganda
+ Ukraine
+ United Arab Emirates
+ United Kingdom
+ United States
+ Uruguay
+ Uzbekistan
+ Vanuatu
+ Venezuela
+ Vietnam
+ Western Sahara
+ Yemen
+ Zaire
+ Zambia
+ Zimbabwe
pragma initial-rule [nation]
diff --git a/data/sample-grammars/long-data/numbers.gram b/data/sample-grammars/long-data/numbers.gram
index 8525102..f2aa0d4 100644..100755
--- a/data/sample-grammars/long-data/numbers.gram
+++ b/data/sample-grammars/long-data/numbers.gram
@@ -15,26 +15,11 @@ pragma export-rule [binary-digit]
pragma export-rule [digit-noone]
-[digit-nonzero] 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+[digit-nonzero] [1..9]
pragma export-rule [digit-nonzero]
-[digit-twoup] 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
+[digit-twoup] [2..9]
pragma export-rule [digit-twoup]
diff --git a/data/sample-grammars/long-data/planet.gram b/data/sample-grammars/long-data/planet.gram
index 1da1678..6149a61 100644..100755
--- a/data/sample-grammars/long-data/planet.gram
+++ b/data/sample-grammars/long-data/planet.gram
@@ -1,4 +1,4 @@
-[planet] → Mercury
+[planet] Mercury
Venus
Mars
Jupiter
diff --git a/data/sample-grammars/long-data/real-city.gram b/data/sample-grammars/long-data/real-city.gram
index 7ca57b9..cea075d 100644..100755
--- a/data/sample-grammars/long-data/real-city.gram
+++ b/data/sample-grammars/long-data/real-city.gram
@@ -1,78 +1,79 @@
-[real-city] → birmingham
- anchorage
- mesa
- phoenix
- tucson
- anaheim
- fresno
- long beach
- los angeles
- oakland
- riverside
- sacramento
- san diego
- san francisco
- san jose
- santa ana
- stockton
- aurora
- colorado springs
- denver
- washington
- jacksonville
- miami
- st. petersburg
- tampa
- atlanta
- honolulu
- chicago
- indianapolis
- wichita
- lexington
- louisville
- baton rouge
- new orleans
- baltimore
- boston
- detroit
- minneapolis
- st. paul
- kansas city
- st. louis
- omaha
- las vegas
- jersey city
- newark
- albuquerque
- buffalo
- new york
- rochester
- charlotte
- raleigh
- akron
- cincinnati
- cleveland
- columbus
- toledo
- oklahoma city
- tulsa
- portland
- philadelphia
- pittsburgh
- memphis
- nashville
- arlington
- austin
- corpus christi
- dallas
- el paso
- fort worth
- houston
- san antonio
- norfolk
- richmond
- virginia beach
- seattle
- milwaukee
+[real-city]
+ Birmingham
+ Anchorage
+ Mesa
+ Phoenix
+ Tucson
+ Anaheim
+ Fresno
+ Long Beach
+ Los Angeles
+ Oakland
+ Riverside
+ Sacramento
+ San diego
+ San Francisco
+ San Jose
+ Santa Ana
+ Stockton
+ Aurora
+ Colorado Springs
+ Denver
+ Washington
+ Jacksonville
+ Miami
+ St. Petersburg
+ Tampa
+ Atlanta
+ Honolulu
+ Chicago
+ Indianapolis
+ Wichita
+ Lexington
+ Louisville
+ Baton Rouge
+ New Orleans
+ Baltimore
+ Boston
+ Detroit
+ Minneapolis
+ St. Paul
+ Kansas City
+ St. Louis
+ Omaha
+ Las Vegas
+ Jersey City
+ Newark
+ Albuquerque
+ Buffalo
+ New York
+ Rochester
+ Charlotte
+ Raleigh
+ Akron
+ Cincinnati
+ Cleveland
+ Columbus
+ Toledo
+ Oklahoma City
+ Tulsa
+ Portland
+ Philadelphia
+ Pittsburgh
+ Memphis
+ Nashville
+ Arlington
+ Austin
+ Corpus Christi
+ Dallas
+ El Paso
+ Fort Worth
+ Houston
+ San Antonio
+ Norfolk
+ Richmond
+ Virginia Beach
+ Seattle
+ Milwaukee
pragma initial-rule [real-city]
diff --git a/data/sample-grammars/long-data/real-company.gram b/data/sample-grammars/long-data/real-company.gram
index f81ec14..079b945 100644..100755
--- a/data/sample-grammars/long-data/real-company.gram
+++ b/data/sample-grammars/long-data/real-company.gram
@@ -1,209 +1,210 @@
-[real-company] 3com
- aflac
- at&t
- ace hardware
- aetna
- aid association for lutherans
- albertson's
- allstate
- alltel
- amerenue
- america online
- american express
- american general
- ames department stores
- anheuser-busch
- apple computer
- archer daniels midland
- autozone
- avis rent a car
- avon products
- b.f. goodrich
- bank of america corp.
- barnes & noble
- bell atlantic
- bellsouth
- berkshire hathaway
- best buy
- black & decker
- boeing
- bristol-myers squibb
- burlington northern santa fe
- cbs
- cvs
- cablevision systems
- campbell soup
- caterpillar
- cendant
- charles schwab
- chase manhattan corp.
- chevron
- cigna
- cinergy
- circuit city group
- cisco systems
- citigroup
- clorox
- coastal
- coca-cola
- colgate-palmolive
- columbia/hca healthcare
- comcast
- comerica
- compusa
- compaq computer
- computer associates intl.
- conagra
- conoco
- conseco
- continental airlines
- corning
- costco wholesale
- dana
- dell computer
- delta air lines
- dillard's
- dole food
- dollar general
- dow chemical
- eastman kodak
- eli lilly
- este lauder
- exxon mobil
- fannie mae
- farmland industries
- fedex
- firstar corp.
- fleetwood enterprises
- ford motor
- gte
- gannett
- gap
- gateway
- general electric
- general mills
- general motors
- gillette
- goldman sachs group
- goodyear tire & rubber
- h.j. heinz
- hartford financial services
- hasbro
- healthsouth
- hershey foods
- hewlett-packard
- home depot
- honeywell international
- hormel foods
- itt industries
- ikon office solutions
- ingersoll-rand
- intel
- ibm
- j.c. penney
- j.p. morgan & co.
- john hancock financial services
- johnson & johnson
- kellogg
- kimberly-clark
- kmart
- knight-ridder
- kroger
- lexmark international
- lockheed martin
- lowe's
- lucent technologies
- mci worldcom
- marriott international
- mattel
- maytag
- mcdonald's
- mcgraw-hill
- merck
- merrill lynch
- metropolitan life insurance
- micron technology
- microsoft
- monsanto
- morgan stanley dean witter
- motorola
- mutual of omaha insurance
- ncr
- nabisco group holdings
- new york life insurance
- new york times
- newell rubbermaid
- nextel communications
- nike
- nordstrom
- northwest airlines
- office depot
- officemax
- oracle
- owens corning
- paine webber group
- pepsico
- pfizer
- pharmacia & upjohn
- philip morris
- procter & gamble
- providian financial
- prudential ins. co. of america
- quaker oats
- qualcomm
- quantum
- qwest communications
- r. j. reynolds tobacco
- ralston purina
- raytheon
- rockwell international
- sbc communications
- safeway
- saks
- sara lee
- seagate technology
- sears roebuck
- servicemaster
- sherwin-williams
- shopko stores
- sodexho marriott services
- southwest airlines
- sprint
- staples
- state farm insurance cos.
- sun microsystems
- suntrust banks
- sunoco
- supervalu
- tandy
- target
- tenet healthcare
- texaco
- texas instruments
- time warner
- times mirror
- toys `r' us
- trans world airlines
- tyson foods
- u.s. bancorp
- us airways group
- us west
- ultramar diamond shamrock
- union carbide
- union pacific
- unisys
- united parcel service
- unitedhealth group
- universal
- viacom
- wal-mart stores
- walgreen
- walt disney
- warner-lambert
- wells fargo
- weyerhaeuser
- whirlpool
- winn-dixie stores
- xerox
+[real-company]
+ 3com
+ Aflac
+ At&T
+ Ace Hardware
+ Aetna
+ Aid Association For Lutherans
+ Albertson'S
+ Allstate
+ Alltel
+ Amerenue
+ America Online
+ American Express
+ American General
+ Ames Department Stores
+ Anheuser-Busch
+ Apple Computer
+ Archer Daniels Midland
+ Autozone
+ Avis Rent A Car
+ Avon Products
+ B.F. Goodrich
+ Bank Of America Corp.
+ Barnes & Noble
+ Bell Atlantic
+ Bellsouth
+ Berkshire Hathaway
+ Best Buy
+ Black & Decker
+ Boeing
+ Bristol-Myers Squibb
+ Burlington Northern Santa Fe
+ Cbs
+ Cvs
+ Cablevision Systems
+ Campbell Soup
+ Caterpillar
+ Cendant
+ Charles Schwab
+ Chase Manhattan Corp.
+ Chevron
+ Cigna
+ Cinergy
+ Circuit City Group
+ Cisco Systems
+ Citigroup
+ Clorox
+ Coastal
+ Coca-Cola
+ Colgate-Palmolive
+ Columbia/Hca Healthcare
+ Comcast
+ Comerica
+ Compusa
+ Compaq Computer
+ Computer Associates Intl.
+ Conagra
+ Conoco
+ Conseco
+ Continental Airlines
+ Corning
+ Costco Wholesale
+ Dana
+ Dell Computer
+ Delta Air Lines
+ Dillard'S
+ Dole Food
+ Dollar General
+ Dow Chemical
+ Eastman Kodak
+ Eli Lilly
+ Este Lauder
+ Exxon Mobil
+ Fannie Mae
+ Farmland Industries
+ Fedex
+ Firstar Corp.
+ Fleetwood Enterprises
+ Ford Motor
+ Gte
+ Gannett
+ Gap
+ Gateway
+ General Electric
+ General Mills
+ General Motors
+ Gillette
+ Goldman Sachs Group
+ Goodyear Tire & Rubber
+ H.J. Heinz
+ Hartford Financial Services
+ Hasbro
+ Healthsouth
+ Hershey Foods
+ Hewlett-Packard
+ Home Depot
+ Honeywell International
+ Hormel Foods
+ Itt Industries
+ Ikon Office Solutions
+ Ingersoll-Rand
+ Intel
+ Ibm
+ J.C. Penney
+ J.P. Morgan & Co.
+ John Hancock Financial Services
+ Johnson & Johnson
+ Kellogg
+ Kimberly-Clark
+ Kmart
+ Knight-Ridder
+ Kroger
+ Lexmark International
+ Lockheed Martin
+ Lowe'S
+ Lucent Technologies
+ Mci Worldcom
+ Marriott International
+ Mattel
+ Maytag
+ Mcdonald'S
+ Mcgraw-Hill
+ Merck
+ Merrill Lynch
+ Metropolitan Life Insurance
+ Micron Technology
+ Microsoft
+ Monsanto
+ Morgan Stanley Dean Witter
+ Motorola
+ Mutual Of Omaha Insurance
+ Ncr
+ Nabisco Group Holdings
+ New York Life Insurance
+ New York Times
+ Newell Rubbermaid
+ Nextel Communications
+ Nike
+ Nordstrom
+ Northwest Airlines
+ Office Depot
+ Officemax
+ Oracle
+ Owens Corning
+ Paine Webber Group
+ Pepsico
+ Pfizer
+ Pharmacia & Upjohn
+ Philip Morris
+ Procter & Gamble
+ Providian Financial
+ Prudential Ins. Co. Of America
+ Quaker Oats
+ Qualcomm
+ Quantum
+ Qwest Communications
+ R. J. Reynolds Tobacco
+ Ralston Purina
+ Raytheon
+ Rockwell International
+ Sbc Communications
+ Safeway
+ Saks
+ Sara Lee
+ Seagate Technology
+ Sears Roebuck
+ Servicemaster
+ Sherwin-Williams
+ Shopko Stores
+ Sodexho Marriott Services
+ Southwest Airlines
+ Sprint
+ Staples
+ State Farm Insurance Cos.
+ Sun Microsystems
+ Suntrust Banks
+ Sunoco
+ Supervalu
+ Tandy
+ Target
+ Tenet Healthcare
+ Texaco
+ Texas Instruments
+ Time Warner
+ Times Mirror
+ Toys `R' Us
+ Trans World Airlines
+ Tyson Foods
+ U.S. Bancorp
+ Us Airways Group
+ Us West
+ Ultramar Diamond Shamrock
+ Union Carbide
+ Union Pacific
+ Unisys
+ United Parcel Service
+ Unitedhealth Group
+ Universal
+ Viacom
+ Wal-Mart Stores
+ Walgreen
+ Walt Disney
+ Warner-Lambert
+ Wells Fargo
+ Weyerhaeuser
+ Whirlpool
+ Winn-Dixie Stores
+ Xerox
pragma initial-rule [real-company]
diff --git a/data/sample-grammars/long-data/relative.gram b/data/sample-grammars/long-data/relative.gram
index a18e015..d51a451 100644..100755
--- a/data/sample-grammars/long-data/relative.gram
+++ b/data/sample-grammars/long-data/relative.gram
@@ -1,4 +1,4 @@
-[relative] → father
+[relative] father
mother
uncle
aunt
diff --git a/data/sample-grammars/long-data/roman-numeral.gram b/data/sample-grammars/long-data/roman-numeral.gram
index 886d44c..9715036 100644..100755
--- a/data/sample-grammars/long-data/roman-numeral.gram
+++ b/data/sample-grammars/long-data/roman-numeral.gram
@@ -1,8 +1,8 @@
[roman-numeral-string] [roman-numeral-string+1]
-[roman-numeral-string+1] [roman-numeral]
- [roman-numeral]
- [roman-numeral] [roman-numeral-string]
+[roman-numeral-string+1] <^2> <&1..4> [roman-numeral]
+ <^4> <&5..10> [roman-numeral]
+ <&10..15> [roman-numeral]
pragma initial-rule [roman-numeral-string]
diff --git a/data/sample-grammars/long-data/syllables.gram b/data/sample-grammars/long-data/syllables.gram
index 925c2aa..925c2aa 100644..100755
--- a/data/sample-grammars/long-data/syllables.gram
+++ b/data/sample-grammars/long-data/syllables.gram
diff --git a/data/sample-grammars/long-data/town-name.gram b/data/sample-grammars/long-data/town-name.gram
index e176c7d..9a97fe4 100644..100755
--- a/data/sample-grammars/long-data/town-name.gram
+++ b/data/sample-grammars/long-data/town-name.gram
@@ -1,143 +1,143 @@
-[town-name] → sullivan
- jakin
- geneva
- coleharbor
- cadiz
- dawson
- turon
- salem
- pax
- dakota
- moorefield
- zenda
- mettawa
- orchard
- busby
- cloudcroft
- perla
- burlington
- morrison
- blackburn
- jerico
- skykomish
- dupree
- dawson
- bowers
- star
- dorrance
- roberts
- carbon
- hopedale
- croghan
- elgin
- holland
- berkley
- sherrill
- varna
- owen
- oxford
- drake
- notus
- hobgood
- thacker
- springfield
- fraser
- avon
- audubon
- waterloo
- windsor
- atoka
- cherry
- hudson
- kechi
- pickstown
- elizabeth
- holt
- stapleton
- kell
- gardena
- osceola
- moscow
- morrison
- mustang
- maxwell
- francis
- eureka
- darlington
- ely
- bancroft
- hanover
- milano
- cabery
- byars
- gully
- sherwood
- reklaw
- watkins
- heartwell
- dawson
- vermont
- goldville
- paxson
- potwin
- sherman
- glenbeulah
- sunset
- clearwater
- solen
- altamont
- dyer
- murray
- rathbun
- huntleigh
- poulan
- burlington
- jackson
- verndale
- cleveland
- josephine
- leland
- carrollton
- vance
- sumner
- tira
- mead
- gumbranch
- glenwood
- harrison
- hannibal
- carthage
- callao
- bussey
- coaldale
- chugwater
- andale
- adell
- farber
- carlton
- prue
- tenney
- walcott
- udall
- brighton
- minburn
- swan
- frazer
- menlo
- bassett
- massena
- trommald
- waynesfield
- lynd
- mendon
- hammond
- simsboro
- thornton
- crary
- reynolds
- turton
- perry
- penasco
- loami
+[town-name] Sullivan
+ Jakin
+ Geneva
+ Coleharbor
+ Cadiz
+ Dawson
+ Turon
+ Salem
+ Pax
+ Dakota
+ Moorefield
+ Zenda
+ Mettawa
+ Orchard
+ Busby
+ Cloudcroft
+ Perla
+ Burlington
+ Morrison
+ Blackburn
+ Jerico
+ Skykomish
+ Dupree
+ Dawson
+ Bowers
+ Star
+ Dorrance
+ Roberts
+ Carbon
+ Hopedale
+ Croghan
+ Elgin
+ Holland
+ Berkley
+ Sherrill
+ Varna
+ Owen
+ Oxford
+ Drake
+ Notus
+ Hobgood
+ Thacker
+ Springfield
+ Fraser
+ Avon
+ Audubon
+ Waterloo
+ Windsor
+ Atoka
+ Cherry
+ Hudson
+ Kechi
+ Pickstown
+ Elizabeth
+ Holt
+ Stapleton
+ Kell
+ Gardena
+ Osceola
+ Moscow
+ Morrison
+ Mustang
+ Maxwell
+ Francis
+ Eureka
+ Darlington
+ Ely
+ Bancroft
+ Hanover
+ Milano
+ Cabery
+ Byars
+ Gully
+ Sherwood
+ Reklaw
+ Watkins
+ Heartwell
+ Dawson
+ Vermont
+ Goldville
+ Paxson
+ Potwin
+ Sherman
+ Glenbeulah
+ Sunset
+ Clearwater
+ Solen
+ Altamont
+ Dyer
+ Murray
+ Rathbun
+ Huntleigh
+ Poulan
+ Burlington
+ Jackson
+ Verndale
+ Cleveland
+ Josephine
+ Leland
+ Carrollton
+ Vance
+ Sumner
+ Tira
+ Mead
+ Gumbranch
+ Glenwood
+ Harrison
+ Hannibal
+ Carthage
+ Callao
+ Bussey
+ Coaldale
+ Chugwater
+ Andale
+ Adell
+ Farber
+ Carlton
+ Prue
+ Tenney
+ Walcott
+ Udall
+ Brighton
+ Minburn
+ Swan
+ Frazer
+ Menlo
+ Bassett
+ Massena
+ Trommald
+ Waynesfield
+ Lynd
+ Mendon
+ Hammond
+ Simsboro
+ Thornton
+ Crary
+ Reynolds
+ Turton
+ Perry
+ Penasco
+ Loami
pragma initial-rule [town-name]
diff --git a/data/sample-grammars/long-data/tree.gram b/data/sample-grammars/long-data/tree.gram
index 6fd0f0e..6293ada 100644..100755
--- a/data/sample-grammars/long-data/tree.gram
+++ b/data/sample-grammars/long-data/tree.gram
@@ -1,4 +1,4 @@
-[tree] → pine
+[tree] pine
elm
maple
oak
diff --git a/data/sample-grammars/martial-arts.gram b/data/sample-grammars/martial-arts.gram
index 2f9f557..7907e02 100755
--- a/data/sample-grammars/martial-arts.gram
+++ b/data/sample-grammars/martial-arts.gram
@@ -1,39 +1,39 @@
-[martial-arts-name] → [art-1] [art-2]
- [art-1] [art-3]
- [art-2] [art-3]
- [art-1] [art-2] [art-3]
+[martial-arts-name] [art-1] [art-2]
+ [art-1] [art-3]
+ [art-2] [art-3]
+ [art-1] [art-2] [art-3]
pragma initial-rule [martial-arts-name]
-[art-1] → running
- hungry
- angry
- naked
- drunken
- fortunate
- lazy
- swift
- powerful
- enlightened
+[art-1] running
+ hungry
+ angry
+ naked
+ drunken
+ fortunate
+ lazy
+ swift
+ powerful
+ enlightened
-[art-2] → ox
- tiger
- dragon
- crane
- monkey
- turtle
- manticore
- serpent
- hummingbird
- demon
+[art-2] ox
+ tiger
+ dragon
+ crane
+ monkey
+ turtle
+ manticore
+ serpent
+ hummingbird
+ demon
-[art-3] → fist
- stance
- spinning kick
- attack
- technique
- style
- dance
- movement
- touch
- fu
+[art-3] fist
+ stance
+ spinning kick
+ attack
+ technique
+ style
+ dance
+ movement
+ touch
+ fu
diff --git a/data/sample-grammars/mary-sue.gram b/data/sample-grammars/mary-sue.gram
index cb39264..f97ce40 100755
--- a/data/sample-grammars/mary-sue.gram
+++ b/data/sample-grammars/mary-sue.gram
@@ -1,5 +1,5 @@
-[mary-sue] she appears to be a normal [normal-desc] . [mary-sue2]
- she appears to be a normal [normal-desc] [opt-dress] [mary-sue2]
+[mary-sue] She appears to be a normal [normal-desc] . [mary-sue2]
+ She appears to be a normal [normal-desc] [opt-dress] [mary-sue2]
[mary-sue2] She is [desc] and she will fight her enemies with her power to [power-desc] [mary-sue3]
@@ -177,7 +177,7 @@ pragma initial-rule [mary-sue]
cursed by god
traveling through time
-[power-desc] [power-1]
+[power-desc] <^2> [power-1]
[power-1] and [power-1]
[power-1] [power-p1] [power-p2]
@@ -300,10 +300,9 @@ pragma suffix-with [comp] [comp-weapon]
[comp-name] [comp-name1]
[comp-prefix] [comp-name1]
-[comp-prefix] [comp-prefix1]
- [comp-prefix2]
- [comp-prefix1] [comp-prefix2]
- [comp-prefix2] [comp-prefix1]
+[comp-prefix] {empty}
+
+pragma prefix-with [comp-prefix] [comp-prefix1] [comp-prefix2]
[comp-name1] dragon
mecha
@@ -437,10 +436,9 @@ pragma suffix-with [comp] [comp-weapon]
rapier
scissors
-[compweap-prefix] [compweap-1]
- [compweap-2]
- [compweap-1] [compweap-2]
- [compweap-2] [compweap-1]
+[compweap-prefix] {empty}
+
+pragma prefix-with [compweap-prefix] [compweap-1] [compweap-2]
[compweap-1] poisoned
blessed
diff --git a/data/sample-grammars/media.gram b/data/sample-grammars/media.gram
index f3a1c98..1a37118 100644..100755
--- a/data/sample-grammars/media.gram
+++ b/data/sample-grammars/media.gram
@@ -10,26 +10,26 @@ pragma initial-rule [media-company]
[chan+name] k [chan-name2]
w [chan-name2]
-[chan-name2] [letter] [letter] [letter] -tv
+[chan-name2] <&3> [letter] -tv
[radio-station] [radio+name] on frequency [radio+chan]
[radio+name] k [radio+name2]
w [radio+name2]
-[radio+name2] [letter] [letter] [letter] [chan-type]
+[radio+name2] <&3> [letter] [chan-type]
-[chan-type] -fm {chantype=fm}
- -am {chantype=am}
+[chan-type] -fm {$chantype=fm}
+ -am {$chantype=am}
[radio+chan] 9 [radio-9chan]
[$chantype-1chan]
-[radio-9chan] [digit] . [digit]
+[radio-9chan] [0..9] . [0..9]
-[fm-1chan] 1 [digit] [digit] . [digit]
+[fm-1chan] 1 [0..9] [0..9] . [0..9]
-[am-1chan] 10 [digit] [digit]
+[am-1chan] 10 [0..9] [0..9]
[newspaper] the [newspaper-pair1] - [newspaper-pair2]
the [newspaper-pair1] - [newspaper-pair2] - [newspaper-pair2]
@@ -112,8 +112,7 @@ pragma initial-rule [media-company]
pragma export-rule [newspaper-pair2]
-[cardinal] [act-cardinal]
- [act-cardinal]
+[cardinal] <^2> [act-cardinal]
[act-cardinal] by [act-cardinal]
[2+cardinal]
diff --git a/data/sample-grammars/mission.gram b/data/sample-grammars/mission.gram
index e474fcd..8fbe9ca 100644..100755
--- a/data/sample-grammars/mission.gram
+++ b/data/sample-grammars/mission.gram
@@ -211,7 +211,7 @@ pragma initial-rule [mission-statement]
supply-chains
synergies
technologies
- total {{empty}} quality {{empty}} management
+ total {empty} quality {empty} management
version control
vision
catalysts for [noun]
diff --git a/data/sample-grammars/names.gram b/data/sample-grammars/names.gram
index 104c136..a0c41c3 100644..100755
--- a/data/sample-grammars/names.gram
+++ b/data/sample-grammars/names.gram
@@ -30,17 +30,11 @@ pragma export-rule [random-name]
[female-title] [first-name-female] [middle-initial] . [last-name]
[gender-neutral-title] [full-name]
[generic-title] [full-name]
- [full-name]
- [full-name]
- [full-name]
- [full-name]
+ <^4> [full-name]
-[generic-title] [male-title]
- [female-title]
- [gender-neutral-title]
- [male-title]
- [female-title]
- [gender-neutral-title]
+[generic-title] <^2> [male-title]
+ <^2> [female-title]
+ <^2> [gender-neutral-title]
[career-tech]
# @TODO 10/23/17 Ben Culkin :TitleExpansion
@@ -54,52 +48,52 @@ pragma export-rule [random-name]
Uncle
Lord Mayor
Prince
- archduke
- grand duke
- duke
- marquis
- marquess
- count
- earl
- jarl
- viscount
- baron
- lord
- emperor
- king
- tsar
- imperator
- viceroy
- pope
- abbot
- brother
- friar
- bishop
- archbishob
- priest
- high priest
- father
- patriarch
- vicar
- chaplain
- pastor
- cardinal
- monsieur
- herr
- senor
- signor
- emir
- sultan
- maharajah
- lord protector
- king-emperor
- rex
- lord of the manor
- high king
- crown prince
- grand prince
- praetor
- headmaster
+ Archduke
+ Grand Duke
+ Duke
+ Marquis
+ Marquess
+ Count
+ Earl
+ Jarl
+ Viscount
+ Baron
+ Lord
+ Emperor
+ King
+ Tsar
+ Imperator
+ Viceroy
+ Pope
+ Abbot
+ Brother
+ Friar
+ Bishop
+ Archbishob
+ Priest
+ High Priest
+ Father
+ Patriarch
+ Vicar
+ Chaplain
+ Pastor
+ Cardinal
+ Monsieur
+ Herr
+ Senor
+ Signor
+ Emir
+ Sultan
+ Maharajah
+ Lord Protector
+ King-Emperor
+ Rex
+ Lord Of The Manor
+ High King
+ Crown Prince
+ Grand Prince
+ Praetor
+ Headmaster
[female-title] Ms.
Mrs.
@@ -107,51 +101,51 @@ pragma export-rule [random-name]
Mistress
Aunt
Lady Mayoress
- princess
- arch duchess
- grand duchess
- duchess
- marquise
- marchioness
- countess
- viscountess
- baroness
- lady
- empress
- queen
- tsarina
- imperatrix
- rex
- vicerine
- popess
- dame
- abbess
- sister
- mother superior
- mother
- reverend mother
- priestess
- high priestess
- matriarch
- madame
- mademoiselle
- frau
- fraulein
- senora
- senorita
- signora
- signorina
- emira
- sultana
- maharani
- lady protectoress
- queen-empress
- regina
- lady of the manor
- high queen
- crown princess
- grand princess
- headmistress
+ Princess
+ Arch Duchess
+ Grand Duchess
+ Duchess
+ Marquise
+ Marchioness
+ Countess
+ Viscountess
+ Baroness
+ Lady
+ Empress
+ Queen
+ Tsarina
+ Imperatrix
+ Rex
+ Vicerine
+ Popess
+ Dame
+ Abbess
+ Sister
+ Mother Superior
+ Mother
+ Reverend Mother
+ Priestess
+ High Priestess
+ Matriarch
+ Madame
+ Mademoiselle
+ Frau
+ Fraulein
+ Senora
+ Senorita
+ Signora
+ Signorina
+ Emira
+ Sultana
+ Maharani
+ Lady Protectoress
+ Queen-Empress
+ Regina
+ Lady Of The Manor
+ High Queen
+ Crown Princess
+ Grand Princess
+ Headmistress
[gender-neutral-title] Dr.
Professor
@@ -172,188 +166,186 @@ pragma export-rule [random-name]
[ambassador]
[envoy]
[secretary]
- attache
- attache ( to [full-name-and-title] )
- provost
- chevalier
+ Attache
+ Attache ( to [full-name-and-title] )
+ Provost
+ Chevalier
[judicial-title]
[religious-title]
[military-title]
- coach
- wizard
- grand wizard
- imperial wizard
- principal
- comrade
- docent
- lama
- druid
- archdruid
- rabbi
- ayatollah
- bodhisattva
- saoshyant
- sheikh
- archon
- legate
- satrap
- consul
- doge
- pharaoh
- caliph
- khagan
- khan
- shah
- shogun
- despot
- kaiser
- don
- comissioner
- comptroller
- courtier
+ Coach
+ Wizard
+ Grand Wizard
+ Imperial Wizard
+ Principal
+ Comrade
+ Docent
+ Lama
+ Druid
+ Archdruid
+ Rabbi
+ Ayatollah
+ Bodhisattva
+ Saoshyant
+ Sheikh
+ Archon
+ Legate
+ Satrap
+ Consul
+ Doge
+ Pharaoh
+ Caliph
+ Khagan
+ Khan
+ Shah
+ Shogun
+ Despot
+ Kaiser
+ Don
+ Comissioner
+ Comptroller
+ Courtier
courtier (to [full-name-and-title] )
- curator
- intendant
- superindentent
- sheriff
- treasurer
- warden
- lord warden
- apprentice
+ Curator
+ Intendant
+ Superindentent
+ Sheriff
+ Treasurer
+ Warden
+ Lord Warden
+ Apprentice
apprentice (to a [generic-title] )
apprentice (to [full-name-and-title] )
- journeyman
- adept
- centurion
- daimyo
- elector
- inquisitor
- grand inquisitor
- pontiff
- knight
- squire
+ Journeyman
+ Adept
+ Centurion
+ Daimyo
+ Elector
+ Inquisitor
+ Grand Inquisitor
+ Pontiff
+ Knight
+ Squire
squire (to [full-name-and-title] )
-[military-title] admiral
- grand admiral
- lord high admiral
- rear admiral
- vice admiral
- brigadier
- captain
- group captain
- colonel
- lieutenant colonel
- commander
- commander-in-chief
- lieutenant commander
- wing commander
- commodore
- air commodore
- corporal
- lance corporal
- staff corporal
- general
- first lieutenant
- flight lieutenant
- major
- marshal
- air marshal
- field marshal
- mate
- chief mate
- first mate
+[military-title] mdmiral
+ Grand Admiral
+ Lord High Admiral
+ Rear Admiral
+ Vice Admiral
+ Brigadier
+ Captain
+ Group Captain
+ Colonel
+ Lieutenant Colonel
+ Commander
+ Commander-In-Chief
+ Lieutenant Commander
+ Wing Commander
+ Commodore
+ Air Commodore
+ Corporal
+ Lance Corporal
+ Staff Corporal
+ General
+ First Lieutenant
+ Flight Lieutenant
+ Major
+ Marshal
+ Air Marshal
+ Field Marshal
+ Mate
+ Chief Mate
+ First Mate
[officer]
- private
- sergeant
- sergeant at arms
- brigadier general
- cadet
- ensign
+ Private
+ Sergeant
+ Sergeant At Arms
+ Brigadier General
+ Cadet
+ Ensign
-[officer] officer
- chief academic officer
- chief executive officer
- chief information officer
- chief operating officer
- field officer
- first officer
- flag officer
- warrant officer
- petty officer
- police officer
- political officer
- senior officer
- staff officer
- police officer
- constable
- agent
+[officer] Officer
+ Chief Academic Officer
+ Chief Executive Officer
+ Chief Information Officer
+ Chief Operating Officer
+ Field Officer
+ First Officer
+ Flag Officer
+ Warrant Officer
+ Petty Officer
+ Police Officer
+ Political Officer
+ Senior Officer
+ Staff Officer
+ Police Officer
+ Constable
+ Agent
-[religious-title] venerable
- blessed
+[religious-title] Venerable
+ Blessed
Saint
St.
- decon
- archdeacon
- acolyte
- dean
- elder
- minister
- monsignor
- reader
- almoner
+ Decon
+ Archdeacon
+ Acolyte
+ Dean
+ Elder
+ Minister
+ Monsignor
+ Reader
+ Almoner
-[judicial-title] advocate
- attorney
- attorney general
- bailiff
- chancellor
- judge
- justice
- lord chief justice
- justice of the peace
- magistrate
- solicitor
+[judicial-title] Advocate
+ Attorney
+ Attorney General
+ Bailiff
+ Chancellor
+ Judge
+ Justice
+ Lord Chief Justice
+ Justice Of The Peace
+ Magistrate
+ Solicitor
-[president] president
- deputy president
- vice president
- executive vice president
- lord president of the council
+[president] President
+ Deputy President
+ Vice President
+ Executive Vice President
+ Lord President Of The Council
-[ambassador] ambassador
- ambassador (to [nation] )
+[ambassador] Ambassador
+ Ambassador (to [nation] )
-[envoy] envoy
- envoy (to [nation] )
- envoy (to the [generic-title] )
+[envoy] Envoy
+ Envoy (to [nation] )
+ Envoy (to the [generic-title] )
envoy (to [full-name-and-title] )
- special envoy
- special envoy (to [nation] )
- special envoy (to the [generic-title] )
- special envoy (to [full-name-and-title] )
+ Special Envoy
+ Special Envoy (to [nation] )
+ Special Envoy (to the [generic-title] )
+ Special Envoy (to [full-name-and-title] )
-[secretary] secretary
- secretary (to [full-name-and-title] )
- secretary (to the [generic-title] )
- under-secretary
- under-secretary (to [full-name-and-title] )
- under-secretary (to the [generic-title] )
- foreign secretary
- general secretary
- secretary of state
+[secretary] Secretary
+ Secretary (to [full-name-and-title] )
+ Secretary (to the [generic-title] )
+ Under-Secretary
+ Under-Secretary (to [full-name-and-title] )
+ Under-Secretary (to the [generic-title] )
+ Foreign Secretary
+ General Secretary
+ Secretary Of State
pragma suffix-with [full-name-and-title] [title-generation]
-pragma suffix-with [full-name-and-title] [title-suffix]
-pragma suffix-with [full-name-and-title] [title-suffix]
-pragma suffix-with [full-name-and-title] [title-suffix]
+pragma suffix-with [full-name-and-title] <&1..3> [title-suffix]
[title-generation] Sr.
Jr.
[roman-numeral]
- the [roman-numeral]
- the [ordinal]
- the [ordinal-number]
+ The [roman-numeral]
+ The [ordinal]
+ The [ordinal-number]
[title-trailer] CPA
Ph.D
@@ -423,9 +415,9 @@ pragma suffix-with [full-name-and-title] [title-suffix]
[random-name] [actual+random-name]
-[actual+random-name] [syllable] [syllable]
- [syllable] [syllable] [last-syllable]
+[actual+random-name] <&1..3> [syllable]
+ <&1..3> [syllable] [last-syllable]
[syllable] [vowel] [consonant-group] [vowel]
[consonant-group] [vowel] [syllable]
- [vowel] [syllable] [syllable]
+ [vowel] <&1..3> [syllable]
[syllable] [vowel-group] [consonant]
diff --git a/data/sample-grammars/newspaper.gram b/data/sample-grammars/newspaper.gram
index afa91ee..afa91ee 100644..100755
--- a/data/sample-grammars/newspaper.gram
+++ b/data/sample-grammars/newspaper.gram
diff --git a/data/sample-grammars/numbers.gram b/data/sample-grammars/numbers.gram
index 4db84b9..a494fab 100644..100755
--- a/data/sample-grammars/numbers.gram
+++ b/data/sample-grammars/numbers.gram
@@ -8,12 +8,12 @@ pragma export-rule [small-number]
pragma export-rule [medium-number]
pragma export-rule [zipcode]
-[actual+small-number] [digit-nonzero]
- [digit-nonzero] [digit]
- [digit-nonzero] [digit] [digit]
+[actual+small-number] [1..9]
+ [1..9] [0..9]
+ [1..9] [0..9] [0..9]
-[actual+medium-number] [digit-nonzero] [digit] [digit]
- [digit-nonzero] [digit] [digit] [digit]
- [digit-nonzero] [digit] [digit] [digit] [digit]
+[actual+medium-number] [1..9] [0..9] [0..9]
+ [1..9] [0..9] [0..9] [0..9]
+ [1..9] [0..9] [0..9] [0..9] [0..9]
-[actual+zipcode] [digit] [digit] [digit] [digit] [digit]
+[actual+zipcode] [0..9] [0..9] [0..9] [0..9] [0..9]
diff --git a/data/sample-grammars/ordinal.gram b/data/sample-grammars/ordinal.gram
index da4aa4e..70e9b39 100644..100755
--- a/data/sample-grammars/ordinal.gram
+++ b/data/sample-grammars/ordinal.gram
@@ -3,10 +3,10 @@
pragma export-rule [ordinal-number]
[actual+ordinal-number] [ordinal-digit]
- 1 [digit] th
- [digit-twoup] [ordinal-digit]
- [digit-twoup] [ordinal-digit]
- [digit-nonzero] [ordinal-number]
+ 1 [0..9] th
+ [2..9] [ordinal-digit]
+ [2..9] [ordinal-digit]
+ [1..9] [ordinal-number]
[ordinal-digit] 1st
2nd
diff --git a/data/sample-grammars/organization.gram b/data/sample-grammars/organization.gram
index 9c88686..0101aa1 100644..100755
--- a/data/sample-grammars/organization.gram
+++ b/data/sample-grammars/organization.gram
@@ -1,15 +1,14 @@
[organization-desc] [org-political]
-[org-postfix] (allies of [org-political] )
+[org-postfix] <^3> {empty}
+ (allies of [org-political] )
(enemies of [org-political] )
(secretly opposed to [org-political] )
(secretly in cohorts with [org-political] )
(based in [city] )
(based in [town-name] )
-pragma suffix-with [organization-desc] [org-postfix]
-pragma suffix-with [organization-desc] [org-postfix]
-pragma suffix-with [organization-desc] [org-postfix]
+pragma suffix-with [organization-desc] <&1..3> [org-postfix]
[organization] [org-political]
@@ -119,7 +118,7 @@ pragma prefix-with [org-goal] [org-goal-abolish]
wealth
filthy rich
-[min+wage] [9..20] . [digit] [digit]
+[min+wage] [9..20] . [0..9] [0..9]
[protect] bill of rights
first amendment
diff --git a/data/sample-grammars/part-creature.gram b/data/sample-grammars/part-creature.gram
index 41bbb83..5875ea1 100755
--- a/data/sample-grammars/part-creature.gram
+++ b/data/sample-grammars/part-creature.gram
@@ -16,12 +16,8 @@ pragma prefix-with [creature-choice] [abilities]
pragma initial-rule [full-creature]
pragma export-rule [creature-choice]
-[abilities] [ability]
- [ability]
- [ability]
- [ability]
- [quote-ability] and [quote-ability]
- [quote-ability] and [quote-ability]
+[abilities] <^4> [ability]
+ <^2> [quote-ability] and [quote-ability]
[quote-ability] , [quote-ability] and [quote-ability]
[quote-ability] ( [ability] )
@@ -60,12 +56,8 @@ pragma despace-rule [eating]
# @TODO 10/26/17 Ben Culkin :CharacteristicAdditions
# Add more templates and classes to the list
-[characteristics] [characteristic]
- [characteristic]
- [characteristic]
- [characteristic]
- [quote-characteristic] and [quote-characteristic]
- [quote-characteristic] and [quote-characteristic]
+[characteristics] <^4> [characteristic]
+ <^2> [quote-characteristic] and [quote-characteristic]
[quote-characteristic] , [quote-characteristic] and [quote-characteristic]
[quote-characteristic] ( [characteristic] )
diff --git a/data/sample-grammars/phone-number.gram b/data/sample-grammars/phone-number.gram
index 163ef4a..e9c3a7c 100644..100755
--- a/data/sample-grammars/phone-number.gram
+++ b/data/sample-grammars/phone-number.gram
@@ -10,20 +10,18 @@
pragma suffix-with [us-phone-number] [extension]
pragma export-rule [us-phone-number]
-[area+code] ( [digit] [digit] [digit] )
+[area+code] ( [0..9] [0..9] [0..9] )
-[full+num] [digit] [digit] [digit] - [digit] [digit] [digit] [digit]
+[full+num] [0..9] [0..9] [0..9] - [0..9] [0..9] [0..9] [0..9]
[intl+num] [1..100] - [full+num]
-[ext+num] [digit-nonzero] [digit] [digit]
+[ext+num] [1..9] [0..9] [0..9]
-pragma suffix-with [ext+num] [digit]
-pragma suffix-with [ext+num] [digit]
-pragma suffix-with [ext+num] [digit]
+pragma suffix-with [ext+num] <&1..3> [0..9]
-[letter+num] [digit] [digit] [digit] - [letter] [letter] [letter] [letter]
+[letter+num] [0..9] [0..9] [0..9] - [letter] [letter] [letter] [letter]
-[1800+num] 1-800- [digit] [digit] [digit] - [digit] [digit] [digit] [digit]
+[1800+num] 1-800- [0..9] [0..9] [0..9] - [0..9] [0..9] [0..9] [0..9]
[1800+letter+num] 1-800- [letter] [letter] [letter] [letter] [letter] [letter] [letter]
diff --git a/data/sample-grammars/pokeattacks.gram b/data/sample-grammars/pokeattacks.gram
index 649f42c..dcbd770 100755
--- a/data/sample-grammars/pokeattacks.gram
+++ b/data/sample-grammars/pokeattacks.gram
@@ -1,29 +1,24 @@
-[pokeattack] [pokeattack-name]
+[pokeattack] {@oword:=[word-1]} {@tword:=[word-2]} {@ptype:=[poke-type]} [act-pokeattack]
-[attack-type] ( [poke-type] type)
- ( [poke-type] / [poke-type] type)
+[act-pokeattack] [pokeattack-name]
+
+[attack-type] ( [@ptype] type)
+ ( [@ptype] / [@ptype] type)
[attack-pp] ( [5..40] pp )
-pragma despace-rule [attack-type]
-pragma despace-rule [attack-pp]
-
-pragma suffix-with [pokeattack] [move-kind]
-pragma suffix-with [pokeattack] [attack-type]
-pragma suffix-with [pokeattack] [attack-pp]
-
-[pokeattack-name] [word-1] [word-1]
- [word-2] [word-2]
- [word-1] [word-2]
- [word-2] [word-1]
- [word-1] [seperator] [word-1]
- [word-2] [seperator] [word-2]
- [word-1] [seperator] [word-2]
- [word-2] [seperator] [word-1]
- [word-1] [seperator] [word-1]
- [word-2] [seperator] [word-2]
- [word-1] [seperator] [word-2]
- [word-2] [seperator] [word-1]
+pragma suffix-with [act-pokeattack] [move-kind]
+pragma suffix-with [act-pokeattack] [attack-type]
+pragma suffix-with [act-pokeattack] [attack-pp]
+
+[pokeattack-name] <^2> <&1..2> [@oword] [@oword]
+ <^2> <&1..2> [@tword] [@tword]
+ <^2> [@oword] [@tword]
+ <^2> [@tword] [@oword]
+ [@oword] [seperator] [@oword]
+ [@oword] [seperator] [@tword]
+ [@tword] [seperator] [@oword]
+ [@tword] [seperator] [@tword]
[seperator] -
/
@@ -54,16 +49,16 @@ pragma suffix-with [pokeattack] [attack-pp]
pragma initial-rule [pokeattack]
pragma export-rule [pokeattack-name]
-[word-11] [word-1]
+[word-11] [@oword]
pragma suffix-with [word-11] [seperator]
-[word-21] [word-2]
+[word-21] [@tword]
pragma prefix-with [word-21] [seperator]
-pragma prefix-with [pokeattack-name] [word-1]
-pragma suffix-with [pokeattack-name] [word-2]
+pragma prefix-with [pokeattack-name] [word-11]
+pragma suffix-with [pokeattack-name] [word-21]
[word-1] acid
aerial
diff --git a/data/sample-grammars/president.gram b/data/sample-grammars/president.gram
index 63b928c..4312f4e 100644..100755
--- a/data/sample-grammars/president.gram
+++ b/data/sample-grammars/president.gram
@@ -1,64 +1,66 @@
-[us-president] george washington
- john adams
- thomas jefferson
- james madison
- james monroe
- john quincy adams
- andrew jackson
- martin van buren
- william henry harrison
- john tyler
- james polk
- zachary taylor
- millard fillmore
- franklin pierce
- james buchanan
- abraham lincoln
- andrew johnson
- ulysses s grant
- rutherford b. hayes
- james garfield
- chester a. arthur
- grover cleveland
- benjamin harrison
- william mckinley
- theodore roosevelt
- william taft
- woodrow wilson
- warren g. harding
- calvin coolidge
- herbert hoover
- franklin d. roosevelt
- harry s truman
- dwight eisenhower
- john f. kennedy
- lyndon b. johnson
- richard nixon
- gerald ford
- jimmie carter
- ronald reagan
- george bush
- bill clinton
- george w. bush
- barack obama
- donald trump
+[us-president] George Washington
+ John Adams
+ Thomas Jefferson
+ James Madison
+ James Monroe
+ John Quincy Adams
+ Andrew Jackson
+ Martin Van Buren
+ William Henry Harrison
+ John Tyler
+ James Polk
+ Zachary Taylor
+ Millard Fillmore
+ Franklin Pierce
+ James Buchanan
+ Abraham Lincoln
+ Andrew Johnson
+ Ulysses S Grant
+ Rutherford B. Hayes
+ James Garfield
+ Chester A. Arthur
+ Grover Cleveland
+ Benjamin Harrison
+ William Mckinley
+ Theodore Roosevelt
+ William Taft
+ Woodrow Wilson
+ Warren G. Harding
+ Calvin Coolidge
+ Herbert Hoover
+ Franklin D. Roosevelt
+ Harry S Truman
+ Dwight Eisenhower
+ John F. Kennedy
+ Lyndon B. Johnson
+ Richard Nixon
+ Gerald Ford
+ Jimmie Carter
+ Ronald Reagan
+ George Bush
+ Bill Clinton
+ George W. Bush
+ Barack Obama
+ Donald Trump
[us-president-common] washington
- adams
- jefferson
- madison
- monroe
- adams
- jackson
- van buren
- harrison
- taylor
- lincoln
- johnson
- garfield
- roosevelt
- wilson
- truman
+ Adams
+ Jefferson
+ Madison
+ Monroe
+ Adams
+ Jackson
+ Van Buren
+ Harrison
+ Taylor
+ Lincoln
+ Johnson
+ Garfield
+ Roosevelt
+ Wilson
+ Truman
+ Obama
+ Trump
pragma export-rule [us-president]
pragma export-rule [us-president-common]
diff --git a/data/sample-grammars/rtwiki/adjective.gram b/data/sample-grammars/rtwiki/adjective.gram
index 09168aa..487b0bf 100644..100755
--- a/data/sample-grammars/rtwiki/adjective.gram
+++ b/data/sample-grammars/rtwiki/adjective.gram
@@ -22,6 +22,8 @@
leaping
prancing
+pragma export-rule [adjective1]
+
[adjective2] curious
happy
lusty
@@ -32,3 +34,5 @@
zealous
angry
vulgar
+
+pragma export-rule [adjective2]
diff --git a/data/sample-grammars/rtwiki/bodyparts.gram b/data/sample-grammars/rtwiki/bodyparts.gram
index 71b4924..71b4924 100644..100755
--- a/data/sample-grammars/rtwiki/bodyparts.gram
+++ b/data/sample-grammars/rtwiki/bodyparts.gram
diff --git a/data/sample-grammars/rtwiki/class.gram b/data/sample-grammars/rtwiki/class.gram
index 8fcb17c..8fcb17c 100644..100755
--- a/data/sample-grammars/rtwiki/class.gram
+++ b/data/sample-grammars/rtwiki/class.gram
diff --git a/data/sample-grammars/rtwiki/color.gram b/data/sample-grammars/rtwiki/color.gram
index 346f73b..87aaae2 100644..100755
--- a/data/sample-grammars/rtwiki/color.gram
+++ b/data/sample-grammars/rtwiki/color.gram
@@ -1,15 +1,13 @@
-[color-phrases] [color-phrase]
- [multi-color-phrases]
-
-[multi-color-phrases] [color-phrase] blended with [color-phrase]
+[color-phrases] <^8> [color-phrase]
+ <^2> [color-phrase] blended with [color-phrase]
a blend between [color-phrase] , [color-phrase] and [color-phrase]
- something between [color-phrase] and [color-phrase]
+ <^2> something between [color-phrase] and [color-phrase]
something between [color-phrase] , [color-phrase] and [color-phrase]
pragma initial-rule [color-phrases]
-[color-phrase] [complete-color]
- [sw-complete-color]
+[color-phrase] <^2> [complete-color]
+ <^2> [sw-complete-color]
[sw-complete-color] [complete-color]
[sw-complete-color] - [complete-color]
[sw-complete-color] [sw-complete-color]
@@ -17,15 +15,14 @@ pragma initial-rule [color-phrases]
pragma export-rule [color-phrase]
-[sw-color-phrase] [sw-complete-color]
+[sw-color-phrase] <^2> [sw-complete-color]
[sw-complete-color] [sw-complete-color]
[sw-complete-color] - [sw-complete-color]
pragma export-rule [sw-color-phrase]
-[complete-color] {wtype=mw} [act-complete-color]
+[complete-color] {$wtype=mw} [act-complete-color]
-pragma despace-rule [complete-color]
pragma export-rule [complete-color]
[sw-complete-color] [act-sw-complete-color]
@@ -34,9 +31,7 @@ pragma export-rule [complete-color]
pragma despace-rule [sw-complete-color]
pragma export-rule [sw-complete-color]
-[act-sw-complete-color] {wtype=sw} [act-complete-color]
-
-pragma despace-rule [act-sw-complete-color]
+[act-sw-complete-color] {$wtype=sw} [act-complete-color]
[act-complete-color] [standard]
[red-purple]
@@ -46,6 +41,7 @@ pragma despace-rule [act-sw-complete-color]
[jewel]
[metallic]
[heraldic]
+ [other-color]
[other-color] [archaic-purple]
[archaic-green]
@@ -71,7 +67,7 @@ pragma despace-rule [act-sw-complete-color]
ivory
white
blue-gray
- [gray]
+ [gray||grey]
black
ebony
copper
@@ -83,35 +79,26 @@ pragma despace-rule [act-sw-complete-color]
[$wtype-standard]
transparent
-[gray] gray
- grey
-
[sw-standard] iridescent
opalescent
rainbow
-[mw-standard] [iridescent]
- [opalescent]
- [ombre]
- [rainbow]
+[mw-standard] [%iridescent||%opalescent||%ombre||%rainbow]
-[iridescent] iridescent [color]
+[iridescent] <^2> iridescent [color]
iridescent between [color] and [color]
[opalescent] opalescent [color]
[ombre] [color] (tinted [color] )
-[rainbow] rainbow of red, orange, yellow, green, blue, indigo and violet
- [custom-rainbow]
+[rainbow] <^2> rainbow of red, orange, yellow, green, blue, indigo and violet
[custom-rainbow] rainbow of [color]
pragma suffix-with [custom-rainbow] [com-color]
pragma suffix-with [custom-rainbow] [com-color]
-pragma suffix-with [custom-rainbow] [com-color]
-pragma suffix-with [custom-rainbow] [com-color]
-pragma suffix-with [custom-rainbow] [com-color]
+pragma suffix-with [custom-rainbow] <&1..3> [com-color]
pragma suffix-with [custom-rainbow] [and-color]
[com-color] , [color]
@@ -373,10 +360,9 @@ pragma suffix-with [custom-rainbow] [and-color]
sulphureous (bright yellow)
urobilin (urine-colored)
-[arcipluvian] (varies between [color] and [color] )
- (varies between [color] , [color] and [color] )
+[arcipluvian] <^4> (varies between [color] and [color] )
+ <^2> (varies between [color] , [color] and [color] )
(varies between [color] , [color] , [color] and [color] )
- (varies between [color] , [color] and [color] )
[archaic-green] [$wtype-archaic-green]
diff --git a/data/sample-grammars/rtwiki/creature.gram b/data/sample-grammars/rtwiki/creature.gram
index b3f7b92..b3f7b92 100644..100755
--- a/data/sample-grammars/rtwiki/creature.gram
+++ b/data/sample-grammars/rtwiki/creature.gram
diff --git a/data/sample-grammars/rtwiki/death-cause.gram b/data/sample-grammars/rtwiki/death-cause.gram
index 74e58e8..3ad27ea 100644..100755
--- a/data/sample-grammars/rtwiki/death-cause.gram
+++ b/data/sample-grammars/rtwiki/death-cause.gram
@@ -99,10 +99,10 @@
by crucifixion
by act of god
-[Monster/Animals] {{empty}}
+[Monster/Animals] {empty}
-[Character/Torture] {{empty}}
+[Character/Torture] {empty}
-[Character/Deaths] {{empty}}
+[Character/Deaths] {empty}
pragma export-rule [death-cause]
diff --git a/data/sample-grammars/rtwiki/fantasy-name.gram b/data/sample-grammars/rtwiki/fantasy-name.gram
index c4ce02e..ca3203f 100644..100755
--- a/data/sample-grammars/rtwiki/fantasy-name.gram
+++ b/data/sample-grammars/rtwiki/fantasy-name.gram
@@ -1,10 +1,19 @@
-[fantasy-name] [fantasy+name]
+[fantasy-name] <^6> [fantasy+name]
+ <^2> <&2> [fantasy+name]
+ <&3> [fantasy+name]
pragma initial-rule [fantasy-name]
-[fantasy+name] [name-root1] [name-root2]
- [name-root1] [name-root3]
- [name-root1] [name-root2] [name-root3]
+[fantasy+name] [name-root1]
+
+pragma suffix-with [fantasy+name] <&1..2> [name-root2] [name-root3]
+pragma prefix-with [fantasy+name] [hname-root1]
+
+[hname-root1] <^3> {empty}
+ [name-root1] -
+
+[hname-root3] <^3> {empty}
+ - [name-root3]
[name-root1] ag
al
diff --git a/data/sample-grammars/rtwiki/favorite.gram b/data/sample-grammars/rtwiki/favorite.gram
index ba1468a..47141f0 100644..100755
--- a/data/sample-grammars/rtwiki/favorite.gram
+++ b/data/sample-grammars/rtwiki/favorite.gram
@@ -1,11 +1,7 @@
-[favorite-food] My favorite foods are [fruit] , [vegetable] and [meat]
+[favorite-food] My favorite foods are [apple||banana||cherry] , [vegetable] and [meat]
pragma initial-rule [favorite-food]
-[fruit] apple
- banana
- cherry
-
[vegetable] potato
okra
brussel sprouts
@@ -16,7 +12,7 @@ pragma initial-rule [favorite-food]
green beans
[meat] hamburgers
- hot dogs
+ hot dog
salmon
beef
chicken
diff --git a/data/sample-grammars/rtwiki/guns.gram b/data/sample-grammars/rtwiki/guns.gram
index aafab8c..ec370a2 100644..100755
--- a/data/sample-grammars/rtwiki/guns.gram
+++ b/data/sample-grammars/rtwiki/guns.gram
@@ -5,21 +5,17 @@
[quote-guncorp] was bought by [quote-guncorp]
[quote-guncorp] 's [quote-gunname] vs. [quote-guncorp] 's [quote-gunname] : cost vs. quality
-[quote-gunname] [gun-name]
+[quote-gunname] ( [gun-name] )
-[quote-guncorp] [guncorp]
+[quote-guncorp] ( [guncorp] )
pragma initial-rule [gun-phrase]
-[gun-name] [1gun-name]
- [2gun-name2]
- [1gun-name]
- [2gun-name2]
- [1gun-name]
- [2gun-name2]
- [2gun-name1] [2gun-name2]
- [2gun-name1] [1gun-name]
- [1gun-name] [2gun-name2]
+[gun-name] <^4> [1gun-name]
+ <^4> [2gun-name2]
+ <^2> [2gun-name1] [2gun-name2]
+ <^2> [2gun-name1] [1gun-name]
+ <^2> [1gun-name] [2gun-name2]
[2gun-name1] [1gun-name] [2gun-name2]
pragma prefix-with [gun-name] [2gun-name1]
@@ -149,11 +145,9 @@ pragma export-rule [gun-name]
Poisoner
Remedy
-[guncorp] [guncorp-1]
- [guncorp-1] [guncorp-2]
- [guncorp-1] [guncorp-2]
- [guncorp-1] [guncorp-2]
- [guncorp-1] [guncorp-1] [guncorp-2]
+[guncorp] <^2> [guncorp-1]
+ <^3> [guncorp-1] [guncorp-2]
+ <&1..2> [guncorp-1] [guncorp-2]
[guncorp-1] - [guncorp-1] [guncorp-2]
[guncorp-1] and [guncorp-1] [guncorp-2]
[guncorp-1] / [guncorp-1] [guncorp-2]
diff --git a/data/sample-grammars/rtwiki/item.gram b/data/sample-grammars/rtwiki/item.gram
index fdee69c..47c5621 100644..100755
--- a/data/sample-grammars/rtwiki/item.gram
+++ b/data/sample-grammars/rtwiki/item.gram
@@ -1,15 +1,14 @@
-[item] [act-item]
- [act-item]
+[item] <^2> [act-item]
[act-item] of the [act-item]
+pragma initial-rule [item]
+
[act-item] [body]
[music]
[symbol]
[thing]
[weapon]
-pragma initial-rule [item]
-
[body] arm
open eye
closed eye
diff --git a/data/sample-grammars/rtwiki/traits.gram b/data/sample-grammars/rtwiki/traits.gram
index c3ff790..c3ff790 100644..100755
--- a/data/sample-grammars/rtwiki/traits.gram
+++ b/data/sample-grammars/rtwiki/traits.gram
diff --git a/data/sample-grammars/rune.gram b/data/sample-grammars/rune.gram
index 4c64e5a..79499f3 100755
--- a/data/sample-grammars/rune.gram
+++ b/data/sample-grammars/rune.gram
@@ -1,19 +1,14 @@
-# @TODO 10/23/17 Ben Culkin :RuneDebug
-# Something seems to be wrong with this grammar, and I'm not sure as to
-# the exact details.
-#
-# The problem is that we are getting multiple runes running together
-# without an obvious cause.
+[rune-string] {@1rune:=[rune-1]} {@2rune:=[rune-2]} {@3rune:=[rune-3]} [act-rune-string]
-[rune-string] [rune-2]
- [rune-1] [rune-2]
- [rune-1] [rune-2] [rune-3]
- [rune-2] [rune-3]
+[act-rune-string] [@2rune]
+ [@1rune] [@2rune]
+ [@1rune] [@2rune] [@3rune]
+ [@2rune] [@3rune]
pragma initial-rule [rune-string]
-pragma prefix-with [rune-string] [rune-1]
-pragma suffix-with [rune-string] [rune-3]
+pragma prefix-with [act-rune-string] [@1rune]
+pragma suffix-with [act-rune-string] [@3rune]
[rune-1] a dagger plunged into
vines growing out of
diff --git a/data/sample-grammars/school.gram b/data/sample-grammars/school.gram
index cd9298b..cd9298b 100644..100755
--- a/data/sample-grammars/school.gram
+++ b/data/sample-grammars/school.gram
diff --git a/data/sample-grammars/slashdot.gram b/data/sample-grammars/slashdot.gram
index 2b38ee3..2b38ee3 100644..100755
--- a/data/sample-grammars/slashdot.gram
+++ b/data/sample-grammars/slashdot.gram
diff --git a/data/sample-grammars/states.gram b/data/sample-grammars/states.gram
index 43f1402..ee4f547 100644..100755
--- a/data/sample-grammars/states.gram
+++ b/data/sample-grammars/states.gram
@@ -1,53 +1,53 @@
-[us-state] alabama
- alaska
- arizona
- arkansas
- california
- colorado
- connecticut
- delaware
- florida
- georgia
- hawaii
- idaho
- illinois
- indiana
- iowa
- kansas
- kentucky
- louisiana
- maine
- maryland
- massachusetts
- michigan
- minnesota
- mississippi
- missouri
- montana
- nebraska
- nevada
- new hampshire
- new jersey
- new mexico
- new york
- north carolina
- north dakota
- ohio
- oklahoma
- oregon
- pennsylvania
- rhode island
- south carolina
- south dakota
- tennessee
- texas
- utah
- vermont
- virginia
- washington
- west virginia
- wisconsin
- wyoming
+[us-state] Alabama
+ Alaska
+ Arizona
+ Arkansas
+ California
+ Colorado
+ Connecticut
+ Delaware
+ Florida
+ Georgia
+ Hawaii
+ Idaho
+ Illinois
+ Indiana
+ Iowa
+ Kansas
+ Kentucky
+ Louisiana
+ Maine
+ Maryland
+ Massachusetts
+ Michigan
+ Minnesota
+ Mississippi
+ Missouri
+ Montana
+ Nebraska
+ Nevada
+ New Hampshire
+ New Jersey
+ New Mexico
+ New York
+ North Carolina
+ North Dakota
+ Ohio
+ Oklahoma
+ Oregon
+ Pennsylvania
+ Rhode Island
+ South Carolina
+ South Dakota
+ Tennessee
+ Texas
+ Utah
+ Vermont
+ Virginia
+ Washington
+ West Virginia
+ Wisconsin
+ Wyoming
pragma export-rule [us-state]
pragma export-rule [us-postalstate]
diff --git a/data/sample-grammars/superhero.gram b/data/sample-grammars/superhero.gram
index cdb609f..b9fab59 100755
--- a/data/sample-grammars/superhero.gram
+++ b/data/sample-grammars/superhero.gram
@@ -5,14 +5,9 @@ pragma initial-rule [superhero-desc]
[superhero-postfix] [superhero-ally]
[superhero-enemy]
-pragma suffix-with [superhero-desc] [superhero-postfix]
-pragma suffix-with [superhero-desc] [superhero-postfix]
-pragma suffix-with [superhero-desc] [superhero-postfix]
-
+pragma suffix-with [superhero-desc] <&1..3> [superhero-postfix]
pragma suffix-with [superhero-desc] [superhero-secret]
-
-pragma suffix-with [superhero-desc] [superhero-org]
-pragma suffix-with [superhero-desc] [superhero-org]
+pragma suffix-with [superhero-desc] <&1..2> [superhero-org]
[superhero-ally] (ally of [superhero-name] )
(secret ally of [superhero-name] )
@@ -37,15 +32,15 @@ pragma suffix-with [superhero-desc] [superhero-org]
(second in command of the [organization] )
( [generic-title] of the [organization] )
-[superhero-name] [first-part] [second-part]
- [second-part] [first-part]
-
-pragma export-rule [superhero-name]
+[superhero-name] {empty}
+pragma prefix-with [superhero-name] [first-part] [second-part]
pragma suffix-with [superhero-name] [third-part]
+pragma prefix-with [superhero-name] [third-part2]
pragma suffix-with [superhero-name] [fourth-part]
pragma suffix-with [superhero-name] [fifth-part]
-pragma prefix-with [superhero-name] [third-part2]
+
+pragma export-rule [superhero-name]
[fifth-part] and the [third-part2]
and [third-part2]
@@ -123,8 +118,7 @@ pragma suffix-with [fifth-part] [fourth-part]
Torch
Magus
Wizard
- [second-class]
- [second-class]
+ <^2> [second-class]
[second-class] Rider
Caster
@@ -137,6 +131,11 @@ pragma suffix-with [fifth-part] [fourth-part]
Ruler
Shielder
Avenger
+ Foreigner
+ Alter Ego
+ Moon Cancer
+
+pragma prefix-with [second-class] Grand
[third-part] ,The [third-part2]
@@ -219,8 +218,7 @@ pragma suffix-with [third-part] [fifth-part]
Deadly
Flaming
Thunderer
- [major-arcana]
- [major-arcana]
+ <^2> [major-arcana]
Cardinal
Bishop
Archbishop
@@ -231,14 +229,12 @@ pragma suffix-with [third-part] [fifth-part]
Motherly
Sinister
Embodiment
- [generic-title]
- [generic-title]
+ <^2> [generic-title]
[fourth-part] of [fourth-part-act]
[fourth-part-act] the [fourth-part-the]
- [harrowed-many-things]
- [harrowed-many-things]
+ <^2> [harrowed-many-things]
Hope
Destiny
Justice
@@ -249,10 +245,8 @@ pragma suffix-with [third-part] [fifth-part]
Knowledge
Earth
Eternal Fire
- [planet]
- [planet]
- [second-part]
- [second-part]
+ <^2> [planet]
+ <^2> [second-part]
[planet] Earth
Mars
@@ -282,12 +276,9 @@ pragma suffix-with [third-part] [fifth-part]
Ancients
Archive
Moon
- [generic-title]
- [generic-title]
- [exalt-type]
- [exalt-type]
- [arcana]
- [arcana]
+ <^2> [generic-title]
+ <^2> [exalt-type]
+ <^2> [arcana]
[exalt-type] Dawn
Zenith
@@ -295,10 +286,11 @@ pragma suffix-with [third-part] [fifth-part]
Night
Eclipse
-[arcana] [tarot-card]
- Arcana
+[arcana] [%tarot-card||%alt-tarot-card]
Minor Arcana
Major Arcana
- [ordinal-roman] Arcana
- [ordinal-number] Arcana
- [ordinal] Arcana
+ <^3> [ordinal-arcana]
+
+[ordinal-arcana] {empty}
+
+pragma prefix-with [ordinal-arcana] Arcana [%ordinal||%ordinal-roman||%ordinal-number]
diff --git a/data/sample-grammars/tarotcard.gram b/data/sample-grammars/tarotcard.gram
index 43741a0..0e3a6da 100755
--- a/data/sample-grammars/tarotcard.gram
+++ b/data/sample-grammars/tarotcard.gram
@@ -1,4 +1,4 @@
-[tarot-card] [adjective-of] [title]
+[alt-tarot-card] [adjective-of] [title]
[adjective-of] [title] [adjective]
[adjective-of] [title] [adjective] [noun]
[adjective-of] [noun] [title]
@@ -11,12 +11,10 @@
[title] [adjective]
[title] [adjective] [noun]
-pragma initial-rule [tarot-card]
+pragma initial-rule [alt-tarot-card]
-[title] [male-title]
- [male-title]
- [female-title]
- [female-title]
+[title] <^2> [male-title]
+ <^2> [female-title]
[misc-title]
[male-title] emperor
diff --git a/data/sample-grammars/technobabble.gram b/data/sample-grammars/technobabble.gram
index 3861576..1f20fb4 100755
--- a/data/sample-grammars/technobabble.gram
+++ b/data/sample-grammars/technobabble.gram
@@ -1,14 +1,13 @@
-[technobabble] [part-prefix] [part-suffix] [part-problem]
- [part-suffix] [part-prefix] [part-problem]
- [part-prefix] [part-problem]
+[technobabble] [part-clause] [part-problem]
+[part-clause] {empty}
+
+pragma prefix-with [part-clause] [part-prefix] [part-suffix]
pragma initial-rule [technobabble]
pragma suffix-with [technobabble] [part-cause]
-[part-cause] the [part-prefix]
- the [part-suffix]
- the [part-prefix] [part-suffix]
+[part-cause] the [part-clause]
pragma suffix-with [part-cause] [add-cause]
diff --git a/data/sample-grammars/theory.gram b/data/sample-grammars/theory.gram
index af2ce49..828b180 100644..100755
--- a/data/sample-grammars/theory.gram
+++ b/data/sample-grammars/theory.gram
@@ -1,12 +1,9 @@
-[theory] [plural+last] [theory-suffix]
+[theory] <^2> [plural+last] [theory-suffix]
+ <^2> the [last-name] [theory-suffix]
+ <^3> the [2+last-name] [theory-suffix]
[plural+last] [theory-suffix]
- the [2+last-name] [theory-suffix]
- the [2+last-name] [theory-suffix]
- the [2+last-name] [theory-suffix]
the [3+last-name] [theory-suffix]
[plural+last] [ordinal] [theory-suffix]
- the [last-name] [theory-suffix]
- the [last-name] [theory-suffix]
pragma initial-rule [theory]
diff --git a/data/sample-grammars/trademark.gram b/data/sample-grammars/trademark.gram
index 7ec2fef..3871db6 100644..100755
--- a/data/sample-grammars/trademark.gram
+++ b/data/sample-grammars/trademark.gram
@@ -37,9 +37,7 @@ pragma initial-rule [trademark]
cere
mor
-[trademark+drug] [trademark-drug-fragment] [trademark-drug-suffix]
- [trademark-drug-fragment] [trademark-drug-suffix]
- [trademark-drug-fragment] [trademark-drug-suffix]
+[trademark+drug] <^3> [trademark-drug-fragment] [trademark-drug-suffix]
[trademark-fragment] [trademark-drug-suffix]
[trademark-fragment] [trademark-drug-fragment] [trademark-drug-suffix]
[syllable] [trademark-drug-fragment] [trademark-drug-suffix]
diff --git a/data/sample-grammars/vaultsofnagoh/turboghoul-hats.gram b/data/sample-grammars/vaultsofnagoh/turboghoul-hats.gram
index 57eef10..7632b94 100644..100755
--- a/data/sample-grammars/vaultsofnagoh/turboghoul-hats.gram
+++ b/data/sample-grammars/vaultsofnagoh/turboghoul-hats.gram
@@ -28,20 +28,11 @@ pragma suffix-with [turboghoul-hat] [eyeholes]
hockey
tights
-[headscarf] [headscarf-type] headscarf
+[headscarf] [flowery||bedouin] headscarf
-[headscarf-type] flowery
- bedouin
+[hood] [liripided||monastic] hood
-[hood] [hood-type] hood
-
-[hood-type] liripided
- monastic
-
-[turban] [turban-type] turban
-
-[turban-type] elaborate
- simple
+[turban] [elaborate||simple] turban
[hat] [hat-type] hat
[hat-type] hat with bandana
@@ -50,8 +41,7 @@ pragma suffix-with [turboghoul-hat] [eyeholes]
fancy feathered
wizard's pointy
-[helmet] [helmet-type] helmet
- [helmet-type] helm
+[helmet] [helmet-type] [helm||helmet]
[helmet-type] monstrous skull
common
diff --git a/data/sample-grammars/web.gram b/data/sample-grammars/web.gram
index 357fc36..32d2979 100644..100755
--- a/data/sample-grammars/web.gram
+++ b/data/sample-grammars/web.gram
@@ -20,14 +20,10 @@ pragma export-rule [big-tld]
[actual+email] [email-initial] @ [email-trailing]
-[email-initial] [username]
- [acronym]
- [email-alias]
- [full-name]
- [username]
- [acronym]
- [email-alias]
- [full-name]
+[email-initial] <^2> [username]
+ <^2> [acronym]
+ <^2> [email-alias]
+ <^2> [full-name]
[subdomain-name]
[email-misc]
[email-initial] + [email-initial]
@@ -99,7 +95,7 @@ pragma export-rule [big-tld]
[url-with-path]
[url-with-path]
-[url-with-path] [url-protocol] :// www.geocities.com/ [neighborhood] / [digit-nonzero] [digit] [digit] [digit] /
+[url-with-path] [url-protocol] :// www.geocities.com/ [neighborhood] / [1..9] [0..9] [0..9] [0..9] /
[url-protocol] :// [url-begin] . [acronym] .net/ [url-username] /
[url-protocol] :// [url-begin] . [town-name] .net/ [url-username]
[url-protocol] :// [subdomain-name] . [acronym] .net/ [url-username]
@@ -175,15 +171,9 @@ pragma export-rule [big-tld]
[last-name]
[syllable] [syllable]
-[tld] com
- com
- com
- com
- com
- net
- net
- org
- org
+[tld] <^5> com
+ <^2> net
+ <^2> org
edu
de
ca
@@ -195,8 +185,7 @@ pragma export-rule [big-tld]
se
no
-[big-tld] com
- com
+[big-tld] <^2> com
net
org
@@ -204,7 +193,7 @@ pragma export-rule [big-tld]
[planet]
mail
www2
- www [digit]
+ www [0..9]
alpha
beta
gamma
@@ -217,10 +206,10 @@ pragma export-rule [big-tld]
[email-initial]
[subdomain-name] - [subdomain-name]
-[email-misc]
- [us-stateadj]
+[email-misc] [us-stateadj]
[town-name]
[complete-many-things]
+ [minor-arcana]
[major-arcana]
[trademark+drug]
[trademark]
diff --git a/data/sample-grammars/zadrons-pouch.gram b/data/sample-grammars/zadrons-pouch.gram
index f72cf25..b918f1c 100755
--- a/data/sample-grammars/zadrons-pouch.gram
+++ b/data/sample-grammars/zadrons-pouch.gram
@@ -64,9 +64,7 @@ pragma export-rule [zadrons-item]
imprisoning
messaging
bounty
- [card]
- [card]
- [card]
+ <^3> [card]
[crys-sphere] → crystal of [crystal-type]
[crys-act]
diff --git a/data/seniordesign/dbdata.gram b/data/seniordesign/dbdata.gram
index 04938ad..de0879c 100644..100755
--- a/data/seniordesign/dbdata.gram
+++ b/data/seniordesign/dbdata.gram
@@ -1,17 +1,7 @@
-[user-role] student
- student
- student
- student
- student
- tutor
- tutor
- tutor
- tutor
- staff
- staff
- staff
- admin
- admin
+[user-role] <^5> student
+ <^4> tutor
+ <^3> staff
+ <^2> admin
sysadmin
pragma export-rule [user-role]
@@ -29,9 +19,7 @@ pragma export-rule [dept-id]
[synth+deptid] [letter]
-pragma suffix-with [synth+deptid] [letter]
-pragma suffix-with [synth+deptid] [letter]
-pragma suffix-with [synth+deptid] [letter]
+pragma suffix-with [synth+deptid] <&1..3> [letter]
[user-idno] [act-user+idno]
@@ -40,7 +28,7 @@ pragma export-rule [user-idno]
[act-user+idno] 800 [idno-chain]
700 [idno-chain]
-[idno-chain] [digit] [digit] [digit] [digit] [digit] [digit]
+[idno-chain] <&5> [digit]
[term-code] [2000..2040] 0 [1..9]
[2000..2040] [10..12]
@@ -48,7 +36,7 @@ pragma export-rule [user-idno]
pragma despace-rule [term-code]
pragma export-rule [term-code]
-[section-code] [letter] [0..9] [0..9]
+[section-code] [letter] <&2> [0..9]
pragma despace-rule [section-code]
pragma export-rule [section-code]
diff --git a/data/server-config-sample.cfg b/data/server-config-sample.cfg
deleted file mode 100644
index 90d3baf..0000000
--- a/data/server-config-sample.cfg
+++ /dev/null
@@ -1,119 +0,0 @@
-# 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
-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
-geographic-thing sample-grammars/long-data/geographic-thing.gram
-last-name sample-grammars/long-data/last-name.gram
-letters sample-grammars/long-data/letters.gram
-nation sample-grammars/long-data/nation.gram
-numbers sample-grammars/long-data/numbers.gram
-planet sample-grammars/long-data/planet.gram
-real-city sample-grammars/long-data/real-city.gram
-real-company sample-grammars/long-data/real-company.gram
-relative sample-grammars/long-data/relative.gram
-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
-anime sample-grammars/anime.gram
-art-objects sample-grammars/art-objects.gram
-awesome-names sample-grammars/awe-names.gram
-buzzword sample-grammars/buzzword.gram
-career sample-grammars/career.gram
-city sample-grammars/city.gram
-college sample-grammars/college.gram
-company sample-grammars/company.gram
-computer sample-grammars/computer.gram
-congress sample-grammars/congress.gram
-dates sample-grammars/dates.gram
-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
-linux sample-grammars/linux.gram
-martial-arts sample-grammars/martial-arts.gram
-mary-sue sample-grammars/mary-sue.gram
-media sample-grammars/media.gram
-mission sample-grammars/mission.gram
-names sample-grammars/names.gram
-# newspaper sample-grammars/newspaper.gram
-numbers sample-grammars/numbers.gram
-ordinal sample-grammars/ordinal.gram
-organization sample-grammars/organization.gram
-part-creature sample-grammars/part-creature.gram
-phone-number sample-grammars/phone-number.gram
-pokeattacks sample-grammars/pokeattacks.gram
-president sample-grammars/president.gram
-rune sample-grammars/rune.gram
-school sample-grammars/school.gram
-slashdot sample-grammars/slashdot.gram
-states sample-grammars/states.gram
-superhero sample-grammars/superhero.gram
-tarotcard sample-grammars/tarotcard.gram
-technobabble sample-grammars/technobabble.gram
-theory sample-grammars/theory.gram
-trademark sample-grammars/trademark.gram
-web sample-grammars/web.gram
-zadrons-pouch sample-grammars/zadrons-pouch.gram
-
-# Diablo II items
-diabloii-base sample-grammars/diablo-ii/diabloii.gram
-diabloii-items sample-grammars/diablo-ii/diabloiiitems.gram
-diabloii-perish sample-grammars/diablo-ii/diabloiiperish.gram
-diabloii-prefixes sample-grammars/diablo-ii/diabloiiprefixes.gram
-diabloii-suffixes sample-grammars/diablo-ii/diabloiisuffixes.gram
-
-# Vaults of Nagoh
-turboghoul-hats sample-grammars/vaultsofnagoh/turboghoul-hats.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
-dragonencounter sample-grammars/dungeondressing/dragonencounter.gram
-kitchen sample-grammars/dungeondressing/kitchen.gram
-monster sample-grammars/dungeondressing/monster.gram
-
-# RandomTable Wiki
-adjective sample-grammars/rtwiki/adjective.gram
-bodyparts sample-grammars/rtwiki/bodyparts.gram
-color sample-grammars/rtwiki/color.gram
-creature sample-grammars/rtwiki/creature.gram
-death-cause sample-grammars/rtwiki/death-cause.gram
-fantasy-name sample-grammars/rtwiki/fantasy-name.gram
-favorite sample-grammars/rtwiki/favorite.gram
-guns sample-grammars/rtwiki/guns.gram
-item sample-grammars/rtwiki/item.gram
-traits sample-grammars/rtwiki/traits.gram
-
-# Senior design
-seniordesign seniordesign/dbdata.gram
-
-# Misc
-700000items misc/700000items.gram
-nimble-bimble misc/nimble.gram
diff --git a/data/server-config-sample.gcfg b/data/server-config-sample.gcfg
new file mode 100755
index 0000000..95939a8
--- /dev/null
+++ b/data/server-config-sample.gcfg
@@ -0,0 +1,127 @@
+# Load 'long rules' -- Grammars which generally are used as part of the output
+# for other grammars
+load grammar animal sample-grammars/long-data/animal.gram
+load grammar canada-province sample-grammars/long-data/canada-province.gram
+load grammar cards sample-grammars/long-data/cards.gram
+load grammar color sample-grammars/long-data/color.gram
+load grammar first-name-female sample-grammars/long-data/first-name-female.gram
+load grammar first-name-male sample-grammars/long-data/first-name-male.gram
+load grammar geographic-thing sample-grammars/long-data/geographic-thing.gram
+load grammar last-name sample-grammars/long-data/last-name.gram
+load grammar letters sample-grammars/long-data/letters.gram
+load grammar nation sample-grammars/long-data/nation.gram
+load grammar numbers sample-grammars/long-data/numbers.gram
+load grammar planet sample-grammars/long-data/planet.gram
+load grammar real-city sample-grammars/long-data/real-city.gram
+load grammar real-company sample-grammars/long-data/real-company.gram
+load grammar relative sample-grammars/long-data/relative.gram
+load grammar roman-numeral sample-grammars/long-data/roman-numeral.gram
+load grammar syllables sample-grammars/long-data/syllables.gram
+load grammar town-name sample-grammars/long-data/town-name.gram
+load grammar tree sample-grammars/long-data/tree.gram
+load grammar greek-letters sample-grammars/long-data/greek-letters.gram
+load grammar japanese-sylls sample-grammars/long-data/japanese-writing.gram
+
+# Load grammars
+
+# Set I of grammars
+load grammar 24hr-rpg sample-grammars/24hr-rpg.gram
+load grammar acronym sample-grammars/acronym.gram
+load grammar address sample-grammars/address.gram
+load grammar anime sample-grammars/anime.gram
+load grammar art-objects sample-grammars/art-objects.gram
+load grammar awesome-names sample-grammars/awe-names.gram
+load grammar buzzword sample-grammars/buzzword.gram
+load grammar career sample-grammars/career.gram
+load grammar city sample-grammars/city.gram
+load grammar college sample-grammars/college.gram
+load grammar company sample-grammars/company.gram
+load grammar computer sample-grammars/computer.gram
+load grammar congress sample-grammars/congress.gram
+load grammar dates sample-grammars/dates.gram
+load grammar dungeon-enviroment sample-grammars/dungeon-enviroment.gram
+load grammar elemental sample-grammars/elementals.gram
+load grammar fantasy-locations sample-grammars/fantasy-locations.gram
+load grammar fortune sample-grammars/fortune.gram
+load grammar gemstones sample-grammars/gemstones.gram
+load grammar genre-fiction sample-grammars/genre-fiction.gram
+load grammar horror sample-grammars/horror.gram
+load grammar insults sample-grammars/insults.gram
+load grammar linux sample-grammars/linux.gram
+load grammar martial-arts sample-grammars/martial-arts.gram
+load grammar mary-sue sample-grammars/mary-sue.gram
+load grammar media sample-grammars/media.gram
+load grammar mission sample-grammars/mission.gram
+load grammar names sample-grammars/names.gram
+# newspaper sample-grammars/newspaper.gram
+load grammar numbers sample-grammars/numbers.gram
+load grammar ordinal sample-grammars/ordinal.gram
+load grammar organization sample-grammars/organization.gram
+load grammar part-creature sample-grammars/part-creature.gram
+load grammar phone-number sample-grammars/phone-number.gram
+load grammar pokeattacks sample-grammars/pokeattacks.gram
+load grammar president sample-grammars/president.gram
+load grammar rune sample-grammars/rune.gram
+load grammar school sample-grammars/school.gram
+load grammar slashdot sample-grammars/slashdot.gram
+load grammar states sample-grammars/states.gram
+load grammar superhero sample-grammars/superhero.gram
+load grammar tarotcard sample-grammars/tarotcard.gram
+load grammar technobabble sample-grammars/technobabble.gram
+load grammar theory sample-grammars/theory.gram
+load grammar trademark sample-grammars/trademark.gram
+load grammar web sample-grammars/web.gram
+load grammar zadrons-pouch sample-grammars/zadrons-pouch.gram
+
+# Diablo II items
+load grammar diabloii-base sample-grammars/diablo-ii/diabloii.gram
+load grammar diabloii-items sample-grammars/diablo-ii/diabloiiitems.gram
+load grammar diabloii-perish sample-grammars/diablo-ii/diabloiiperish.gram
+load grammar diabloii-prefixes sample-grammars/diablo-ii/diabloiiprefixes.gram
+load grammar diabloii-suffixes sample-grammars/diablo-ii/diabloiisuffixes.gram
+
+# Vaults of Nagoh
+load grammar turboghoul-hats sample-grammars/vaultsofnagoh/turboghoul-hats.gram
+
+# RPG tools
+load grammar wand rpg-tools-cd/wands.gram
+
+# Set II of grammars
+load grammar cbs new-sample-grammars/cbs.gram
+load grammar repinsults new-sample-grammars/repinsult.gram
+
+# Drakensang online items
+load grammar ds-runes new-sample-grammars/drakensang/runes.gram
+load grammar ds-gems new-sample-grammars/drakensang/gems.gram
+load grammar ds-armor new-sample-grammars/drakensang/armor.gram
+
+# Perchance sample grammars
+load grammar meal new-sample-grammars/perchance/meal.gram
+
+# Other grammar files
+
+# Dungeon dressing
+load grammar abandoned sample-grammars/dungeondressing/abandoned.gram
+load grammar bedroom sample-grammars/dungeondressing/bedroom.gram
+load grammar dragonencounter sample-grammars/dungeondressing/dragonencounter.gram
+load grammar kitchen sample-grammars/dungeondressing/kitchen.gram
+load grammar monster sample-grammars/dungeondressing/monster.gram
+
+# RandomTable Wiki
+load grammar adjective sample-grammars/rtwiki/adjective.gram
+load grammar bodyparts sample-grammars/rtwiki/bodyparts.gram
+load grammar color sample-grammars/rtwiki/color.gram
+load grammar creature sample-grammars/rtwiki/creature.gram
+load grammar death-cause sample-grammars/rtwiki/death-cause.gram
+load grammar fantasy-name sample-grammars/rtwiki/fantasy-name.gram
+load grammar favorite sample-grammars/rtwiki/favorite.gram
+load grammar guns sample-grammars/rtwiki/guns.gram
+load grammar item sample-grammars/rtwiki/item.gram
+load grammar traits sample-grammars/rtwiki/traits.gram
+
+# Senior design
+load grammar seniordesign seniordesign/dbdata.gram
+
+# Misc
+load grammar 700000items misc/700000items.gram
+load grammar nimble-bimble misc/nimble.gram
diff --git a/data/todos.txt b/data/todos.txt
index 1de8841..a382a05 100644..100755
--- a/data/todos.txt
+++ b/data/todos.txt
@@ -1,2 +1,8 @@
-:TODO 5/10/18 Ben Culkin :EasternSun
+@TODO 5/10/18 Ben Culkin :EasternSun
Finish up the new-style Diablo generator, using Eastern Sun things
+
+@TODO 10/11/17 Ben Culkin :GrammarReorg
+ Better organize the provided sample grammars.
+
+@TODO 5/29/18 Ben Culkin :Spacing
+ Convert grammars into using despace-rule where possible.