<?php

final class PhutilRealNameContextFreeGrammar
  extends PhutilContextFreeGrammar {

  protected function getRules() {
    return array(
      'start' => array(
        '[first] [last]',
        '[first] [last]',
        '[first] [last]',
        '[first] [last]',
        '[first] [last]',
        '[first] [last]',
        '[first] [last]',
        '[first] [last]',
        '[first] [last]-[last]',
        '[first] [middle] [last]',
        '[first] "[nick]" [last]',
        '[first] [particle] [particle] [particle]',
      ),
      'first' => array(
        'Mohamed',
        'Youssef',
        'Ahmed',
        'Mahmoud',
        'Mustafa',
        'Fatma',
        'Aya',
        'Noam',
        'Adam',
        'Lucas',
        'Noah',
        'Jakub',
        'Victor',
        'Harry',
        'Rasmus',
        'Nathan',
        'Emil',
        'Charlie',
        'Leon',
        'Dylan',
        'Alexander',
        'Emma',
        'Marie',
        'Lea',
        'Amelia',
        'Hanna',
        'Emily',
        'Sofia',
        'Julia',
        'Santiago',
        'Sebastian',
        'Olivia',
        'Madison',
        'Isabella',
        'Esther',
        'Anya',
        'Camila',
        'Jack',
        'Oliver',
      ),
      'nick' => array(
        'Buzz',
        'Juggernaut',
        'Haze',
        'Hawk',
        'Iceman',
        'Killer',
        'Apex',
        'Ocelot',
      ),
      'middle' => array(
        'Rose',
        'Grace',
        'Jane',
        'Louise',
        'Jade',
        'James',
        'John',
        'William',
        'Thomas',
        'Alexander',
      ),
      'last' => array(
        '[termlast]',
        '[termlast]',
        '[termlast]',
        '[termlast]',
        '[termlast]',
        '[termlast]',
        '[termlast]',
        '[termlast]',
        'O\'[termlast]',
        'Mc[termlast]',
      ),
      'termlast' => array(
        'Smith',
        'Johnson',
        'Williams',
        'Jones',
        'Brown',
        'Davis',
        'Miller',
        'Wilson',
        'Moore',
        'Taylor',
        'Anderson',
        'Thomas',
        'Jackson',
        'White',
        'Harris',
        'Martin',
        'Thompson',
        'Garcia',
        'Marinez',
        'Robinson',
        'Clark',
        'Rodrigues',
        'Lewis',
        'Lee',
        'Walker',
        'Hall',
        'Allen',
        'Young',
        'Hernandex',
        'King',
        'Wang',
        'Li',
        'Zhang',
        'Liu',
        'Chen',
        'Yang',
        'Huang',
        'Zhao',
        'Wu',
        'Zhou',
        'Xu',
        'Sun',
        'Ma',
      ),
      'particle' => array(
        'Wu',
        'Xu',
        'Ma',
        'Li',
        'Liu',
        'Shao',
        'Lin',
        'Khan',
      ),
    );
  }

}
