Chaining tokens to a single word in JSGF

I German multiple words are often chained together to a single word. I tried to use e.g. the following syntax:

two_to_nine = (zwei:2 | drei:3 | vier:4 | fünf:5 | sechs:6 | sieben:7 | acht:8 | neun:9)
one_to_nine = (ein:1 | <two_to_nine>)
hour_half_expr = ((<one_to_nine>{hours}[und]ein(halb){minutes:30} | (andert){hours:1}(halb){minutes:30}) Stunden)

as a result I hoped for something like

eineinhalb Stunden
einundeinhalb Stunden
anderthalb Stunden
zweieinhalb Stunden
zweiundeinhalb Stunden

however rhasspy adds a whitespace between each token:

ein ein halb Stunden
ein und ein halb Stunden
andert halb Stunden
zwei ein halb Stunden
zwei und ein halb Stunden

I could not find any informations on this topic in the JSGF specification here: Is there a way to chain multiple tokens without a whitespace in between?