Tilebot presents the Ultimate Word Game DSL
Welcome to the inner sanctum of word solving! To help you dominate your games, Tilebot (hereinafter: Professor Tilebot) spent weeks reading every dictionary, tournament rulebook, and tactical manual ever printed (including Scrabble for Dummies). Whether you're hunting for 50-point Scrabble bingos, destroying opponents in Words with Friends, or crushing daily Wordle and crossword puzzles, this guide turns the professor's DSL and our solver into your ultimate secret word game weapon.
Quick Refresher: The Basics
Before diving into advanced slot physics, here is the basic progression:
- Simple Anagram:
abdgint searches your loose rack tiles for valid words.
- Wildcards:
? opens 1 flexible slot for any letter.
- Glued Blocks:
[cat] forces a connected sequence in that exact order.
1. What is a Slot?
When you pin letters inside position anchors (>…<), you move seamlessly from simple anagrams to building a physical row of squares on the game board. A Slot is simply one single tile space on the board.
>a< → 1 slot: The letter A in board position 1.
>abcd< → 4 slots: The sequence A-B-C-D targeting slots 1–4.
????>abcd< → 4 slots shifted: 4 wildcards take slots 1–4, shifting A-B-C-D to target slots 5–8!
1.1 Fast Board Anchoring: Shorthands
While full slot anchors (>…<) give you accurate positional control, professor Tilebot's DSL provides two shorthands for locking word edges.
Pin the beginning
Placing an unmatched < immediately locks all preceding unbracketed characters to the very start of the word.
pro< → Word must start with PRO (e.g., PROBED, PROXY).
pro<[bed] → Word starts with PRO, while [bed] floats as a mandatory contiguous substring elsewhere in the word.
Pin the ending
Placing an unmatched > locks the trailing sequence directly to the END of the word.
>bed → Word must end with BED (e.g., PROBED, JABBED).
pro<>bed → Starts with PRO and ends with BED in a single, compact query.
Unmatched < and > are intentional syntactic shortcuts. Explicit bracket blocks [...] always ignore implicit prefix locks, meaning [bed]pro< and pro<[bed] parse identically.
2. The Choice Operator (|) — Multiple Options for 1 Slot
The pipe symbol (|) means OR. It lets you give the engine a menu of choices for a single square on the board. Because all the options inside the pipe belong to that same square, the entire group still counts as 1 slot.
>e|b|h< → 1 slot: This square must be either an E, a B, or an H.
Compare the difference:
>ebh< (3 slots): A 3-letter sequence — E, then B, then H.
>e|b|h< (1 slot): A 1-letter space — E OR B OR H.
Key Takeaway: Think of | as shrinking a list of options down so they all squeeze into a single tile square.
3. How Raw Inputs Collapse into Board Slots
Because choice and ban operators let you pack multiple characters into a single slot, and delimiters don't count, character position in your input box does not equal slot number on the board!
Take this pattern as an example: d<>!e|a|o<g?bn>t<
- Slot 1:
d<
- Slot 2:
>!e|a|o< (8 input characters collapse into 1 single slot!)
- Slot 3:
g
- Slot 4:
?
- Slot 5:
b
- Slot 6:
n
- Slot 7:
>t<
Notice how character #16 in your input field (the letter t inside >t<) ends up targeting Slot 7 on the board! All eight characters inside >!e|a|o< collapsed into Slot 2.
Professor Tilebot says: ”Yes! d<>!e|a|o<g?bn>t< might look like your cat walked across your keyboard! But to our solver, it is 100% precise, valid, and mathematically beautiful DSL search syntax.”
4. The Ban Operator (!) and Container Rules
The exclamation mark (!) means NOT. You can use it globally across the word or inside a specific slot.
Positional Bans (In one specific square)
>!a< → 1 slot: Anything except A.
>!a|b|c|d< → 1 slot: Anything except A, B, C, or D.
Global Bans (Anywhere in the word)
[!a] → No A allowed anywhere in the word.
[!cat] → The contiguous pair CAT cannot appear anywhere in the word.
4.1 Substring Choice
Bracket blocks [...] force a sequence of letters to appear together somewhere in the word. By inserting the choice pipe (|), you can search for whole-substring alternatives or declare a substring optional.
Whole-Substring Alternatives
Separating terms with | inside brackets tells the solver: "Find at least one of these contiguous sequences."
[cat|fox] → Matches any word containing CAT OR FOX (e.g., CATCH, FOXY).
[cat|fox|wolf] → Matches any word containing CAT, FOX, OR WOLF.
4.2 Multi-Forbidden Blocks
When you place an exclamation mark at the start of a multi-option bracket, the negative operator applies across every alternative in the group.
[!cat|fox] → Forbids CAT AND forbids FOX from appearing anywhere in the word.
[!bed|ing|ed] → Filters out words containing common suffixes BED, ING, or ED simultaneously.
Key Takeaway: Inside standard brackets ([…]), | acts as OR (contains A OR B). Inside negative brackets ([!…]), | acts as a joint exclusion (contains NEITHER A NOR B).
⚠️ Critical Syntax Rule:
- Operators require containers: Operators (
! and |) cannot float freely in raw text. Exclamations must live inside […] or >…<
5. Becoming Unstoppable in Wordle
Combining choice and ban operators makes you virtually unbeatable in daily word guessing games.
Imagine a Wordle scenario: You know the word starts with B, the 2nd letter is I or O, the 3rd letter is N, the 4th letter is unknown, the word ends with O, and there is no U or E anywhere in the word. You can type b<>i|o<>n<?>o[!u|e], or simplify it into one elegant expression by wrapping the entire board sequence inside a single matched container: >bi|on?o<[!u|e] (see Advanced Usage below to learn more about dense slot packing inside containers).
6. Advanced Usage
1. The Optional Substring Trick
Trailing a choice pipe with nothing inside a bracket block makes the entire substring optional:
-
[cat|] → The word MAY contain the substring CAT, but the CAT is entirely optional. For example, [cat|]nip returns valid words formed by your letters while highlighting words containing the unbroken sequence CAT right alongside your non-CAT alternatives.
Professor Tilebot says: “Think of [cat|] as quantum mechanics for word games: the substring both exists and doesn't exist until the dictionary evaluation collapses the wave function. It's ideal when you want to score bonus points for optional letter combinations without disqualifying simpler words.”
2. Dense Inline Slot Expressions (The >we!i|rd< Pattern)
You can mix literal letters, negations, and choice pipes inside a single positional container (>…<) without separating them into individual slot tags.
>we!i|rd< → Evaluates to exactly 4 board slots:
- Slot 1: Fixed letter
w.
- Slot 2: Fixed letter
e.
- Slot 3: Piped negation
!i|r (must be NOT I and NOT R).
- Slot 4: Fixed letter
d.
Because the pipe operator (|) binds adjacent characters into a single slot choice, and the negation (!) applies to that entire group, unpiped characters automatically remain their own independent slots. Packing negations and pipe groups into a single locked anchor string like >we!i|rd< may look like black magic, but it is 100% sanctioned syntax.
Cheat Sheet
| Syntax |
What it means |
Scope / Slots |
pro< |
Word must start with prefix P-R-O |
Prefix anchor |
>ing |
Word must end with suffix I-N-G |
Suffix anchor |
[a] |
Requires letter A anywhere in the word |
Global requirement |
[a|b] |
Requires letter A or B anywhere in the word |
Global requirement |
[abc] |
Requires contiguous block A-B-C |
Global requirement |
[abc|xyz] |
Requires contiguous block A-B-C or X-Y-Z |
Global requirement |
[!a] |
Banned letter A anywhere in the word |
Global exclusion |
[!a|b] |
Neither letter A nor B anywhere in the word |
Global exclusion |
[!abc] |
Banned contiguous block A-B-C |
Global exclusion |
[!abc|xyz] |
Neither contiguous block A-B-C nor X-Y-Z |
Global exclusion |
>abc< |
Exact sequence A, B, C |
3 slots |
>a|b|c< |
Matches A, B, or C in this slot |
1 slot |
>!a< |
Any character except A in this slot |
1 slot |
>!a|b|c< |
Any character except A, B, or C in this slot |
1 slot |
>we!i|rd< |
Slot 1 is W; Slot 2 is E; Slot 3 is NOT I or R; Slot 4 is D |
4 slots |
[cat|] |
Optional substring C-A-T (word may or may not contain it) |
Global optionality |