Yo no olvidaría los sintagmas. El sujeto se puede componer de uno o más sintagmas. Ordenándolo por sintagmas, complementos, atributo y etc, creo que podría quedar mejor.
Algo como:
SN = Sintagma Nominal
Sujeto = <SN> + [ [',' + <SN> + [',' + <SN> + [...]] ] + <conjunción> + <SN> ]
Luego, claro, habría que definir todos los posibles sintagmas y tal.
PD: yo estoy usando
la notación de Windows (desconozco si tiene nombre)
PD2: creo que sería conveniente hacer esto primero en inglés. El Español es un idioma muy complejo xD