The problem here is that you are conflating two separate things: the syntax for parameters in a function expression and the list of available parameters. The syntax itself is straightforward enough:

    CREATE PARSER [schema.]function  
    [WITH [parameter='value' [, parameter='value']+]   
    ];

The list of parameters is:

    LANGUAGE='language'  
    MODE='[FENCED | UNFENCED]'  
    STUFF='anotherParameter'  

Most syntax diagrams separate these two things, which would seem to solve your problem. 

BTW, you might point out to your developers that since the parameter values are quoted, the comma is syntactically redundant. Removing it would simplify your diagram and even let you continue to conflate parameter syntax with the list of parameters if you really wanted to.