[previous] [up] [next]


7.1.5 Transformers

<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 ...>