deans-dox
 / Japanese / Japanese (Simple EBNF).md

Japanese Sentence Grammar (simplified EBNF)

Sentence        ::= Clause+ Ending

Clause          ::= Topic? Subject? Object? IndirectObject? Modifier* Predicate

Topic           ::= Noun "は"
Subject         ::= Noun "が"
Object          ::= Noun "を"
IndirectObject  ::= Noun "に" | Noun "へ" | Noun "で"

Modifier        ::= Adjective | Noun "の" | RelativeClause

RelativeClause  ::= Clause Noun

Predicate       ::= VerbForm | CopulaForm

VerbForm        ::= Verb Politeness? Tense Aspect Mood
CopulaForm      ::= Noun | Adjective ; followed by "だ" | "です"

Politeness      ::= "ます" | ε
Tense           ::= "た" | ε                 ; past or present
Aspect          ::= "ている" | ε             ; progressive
Mood            ::= "でしょう" | "かもしれない" | ε

Ending          ::= "。" | "?" | "!"

Noun            ::= "私" | "彼" | "猫" | "犬" | "本" | "映画" | "学校" | ...
Adjective       ::= "大きい" | "小さい" | "新しい" | "古い" | "きれいな" | ...
Verb            ::= "食べる" | "行く" | "見る" | "読む" | "書く" | "話す" | ...

Sample Sentences (parsed)

  1. 私 は 本 を 読みます。 → Topic = "私", Object = "本", Predicate = "読む"+"ます" (polite present)

  2. 猫 が 魚 を 食べた。 → Subject = "猫", Object = "魚", Predicate = "食べる"+"た" (plain past)

  3. 彼 が 学校 へ 行っている。 → Subject = "彼", Destination = "学校へ", Predicate = "行く"+"ている" (progressive)

  4. 新しい 本 を 買いました。 → Modifier = "新しい" (adjective), Object = "本", Predicate = "買う"+"ました" (polite past)

  5. 私 が 昨日 見た 映画 は 面白かった。 → Relative clause = "私が昨日見た" modifying "映画", Topic = "映画", Predicate = "面白い"+"かった" (past)