Japanese Particle System Documentation
| Particle | Function | Position | Example |
|---|---|---|---|
| は (wa) | Topic marker | After what you're talking about | 私は学生です |
| が (ga) | Subject marker | After who/what does action | 雨が降ります |
| を (wo) | Object marker | Before the verb | 本を読みます |
| に (ni) | Target/location | Before destination/time | 家に帰ります |
| で (de) | Action location | Before the action | 公園で遊ぶ |
| の (no) | Possession | Between related nouns | 私の本 |
| と (to) | With/and | After companion/quote | 友達と行く |
| も (mo) | Also/too | Same as は/が | 私も行きます |
Core Type Declaration Particles
は (wa) - Topic Declaration
Validates that an entity can serve as the topic of discourse. Functions like a type declaration that establishes scope.
interface TopicParticle { role: "context_establishment" scope: "discourse_level" persistence: "until_new_topic" constraints: { position: "post_nominal" uniqueness: "one_per_scope" }}Example implementations:
私は学生です。(I [topic] student am.)Type validation: "私" declared as discourse topic
本は面白いです。(Book [topic] interesting is.)Type validation: "本" declared as discourse topicが (ga) - Subject Declaration
Validates that an entity can serve as the grammatical subject of the current action scope.
interface SubjectParticle { role: "action_source" scope: "clause_level" persistence: "current_action" constraints: { position: "post_nominal" uniqueness: "one_per_clause" }}Example implementations:
雨が降っています。(Rain [subject] falling-is.)Type validation: "雨" declared as action source
誰が来ましたか。(Who [subject] came?)Type validation: "誰" declared as action sourceを (wo) - Direct Object Declaration
Validates that an entity can serve as the direct object of an action.
interface ObjectParticle { role: "action_target" scope: "verb_level" persistence: "current_action" constraints: { position: "pre_verb" requires: "transitive_verb" }}Example implementations:
本を読みます。(Book [object] read.)Type validation: "本" declared as action target
水を飲みます。(Water [object] drink.)Type validation: "水" declared as action targetRelationship Type Particles
の (no) - Association Declaration
Validates that two entities can form an associative relationship.
interface AssociationParticle { role: "entity_association" scope: "phrase_level" persistence: "compound_duration" constraints: { position: "between_nominals" chainable: true }}Example implementations:
私の本(My [assoc] book)Type validation: Association between "私" and "本"
学校の先生の家(School [assoc] teacher [assoc] house)Type validation: Chained associationsに (ni) - Target/Location Declaration
Validates that an entity can serve as a target point or location.
interface TargetParticle { role: "destination_or_target" scope: "verb_level" persistence: "action_duration" constraints: { position: "pre_verb" compatible_verbs: ["motion", "existence", "target_action"] }}Example implementations:
学校に行きます。(School [target] go.)Type validation: "学校" declared as movement target
机に本があります。(Desk [location] book exists.)Type validation: "机" declared as existence locationModifier Type Particles
で (de) - Context Declaration
Validates that an entity can serve as the context (means, location, time) for an action.
interface ContextParticle { role: "action_context" scope: "clause_level" persistence: "action_duration" constraints: { position: "pre_verb" context_types: ["means", "location", "time"] }}Example implementations:
公園で遊びます。(Park [context] play.)Type validation: "公園" declared as action location
ペンで書きます。(Pen [context] write.)Type validation: "ペン" declared as action meansと (to) - Conjunction/Quotation Declaration
Validates that entities can be conjoined or content can be quoted.
interface ConjunctionParticle { role: "conjunction_or_quotation" scope: "phrase_level" persistence: "compound_duration" constraints: { position: "post_nominal" | "post_quote" chainable: true }}Example implementations:
友達と話します。(Friend [with] talk.)Type validation: "友達" declared as co-participant
「はい」と言いました。("Yes" [quote] said.)Type validation: "はい" declared as quoted contentImplementation Notes
- Particle Stacking Particles can be combined to create complex type declarations:
私からの手紙(Me [from][assoc] letter)Type validation: Compound relationship declaration- Context Inheritance Topic declarations (は) persist until explicitly changed:
私は学生です。日本語を勉強します。(I [topic] student am. Japanese [object] study.)Type validation: "私" remains active topic- Type Conflicts Some particles cannot co-occur due to type conflicts:
*私はが学生です。(*I [topic][subject] student am.)Type validation: Failed - conflicting type declarations- Implicit Types Context can allow particle omission when type is clear:
水(を)飲みます。(Water (implied object) drink.)Type validation: Object type inferred from contextUsage Guidelines
- Start with core type declarations (は、が、を)
- Add relationship types as needed (の、に)
- Incorporate context modifiers (で、と)
- Practice type validation through error detection
- Build complex type combinations gradually
Remember: Particles are not just grammar points but a robust type system that ensures semantic validity in Japanese sentences.