<transformer spec> ---> (syntax-rules (<identifier>*) <syntax rule>*) <syntax rule> ---> (<pattern> <template>) <pattern> ---> <pattern identifier> | (<pattern>*) | (<pattern>+ . <pattern>) | (<pattern>* <pattern> <ellipsis>) | #(<pattern>*) | #(<pattern>* <pattern> <ellipsis>) | <pattern datum> <pattern datum> ---> <string> | <character> | <boolean> | <number> <template> ---> <pattern identifier> | (<template element>*) | (<template element>+ . <template>) | #(<template element>*) | <template datum> <template element> ---> <template> | <template> <ellipsis> <template datum> ---> <pattern datum> <pattern identifier> ---> <any identifier except ...> <ellipsis> ---> <the identifier ...>