Next: , Previous: Quasiquotations, Up: Formal syntax



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