Aikido Grammar

Aikido techniques have structure. I believe it is possible to decompose them into reusable elements and come up with a context-free grammar for defining the set of all possible techniques. From the point of view of people learning the art, it seems like there are thousands of techniques, when in reality there are a few dozen concepts that combine in interesting ways. Based on this grammar, I have created a technique builder application.

<aikido-technique> => <attack> <technique>
<attack> => empty-hand <hold> | <weapon> <blow> |
empty-hand <combination> | tanto <combination>
<weapon>
=> empty-hand | bokken | jo | tanto
<hold>
=> <disposition> <hold-type>
<disposition>
=> standing | hanmi-handachi | suwari-waza
<hold-type> => kata-tori | ryo-kate-tori | katate-tori | ryo-katate-tori | ai-tori | morote-tori
ushiro-ryote-tori | ushiro-hiji-tori | ushiro-ryo-kate-tori |
ushiro-kubishimi | ushiro-tori (high) | ushiro-tori (low)
<blow> => <disposition> | <blow-type>
<blow-type> => shomen-uchi | yokomen-uchi | men-tsuki | mune-tsuki
<combination>
=> <disposition> <combination-type>
<combination-type>
=> katate-tori <blow-type> | kata-tori <blow-type>|  ai-tori <blow-type>
<technique>
=> <entrance> <continuance> <finish>  |
<entrance> <continuance> <kaishi-waza> <continuance> <finish>
<entrance>
=> omote | ura | irimi | soto-mawari | uchi-mawari
<continuance>
=> none | shiho-continuance | fingers-to-shoulder | ikkyo-continuance |
sankyo-continuance | <continuance><entrance>
<kaishi-waza>
=> irimi-reversal | tenkan reversal
<finish>
=> <projection> | <immobilization>
<projection>
=> kote-geishi | shiho-nage | ude-kime-nage | kaiten-nage |
juji-nage | kokyo-nage | mune-kokyo-nage | tenchi-nage |
aiki-otoshi | sumi-otoshi | ikkyo-projection | sankyo-projection |
sankyo-nage | koshi-nage (ikkyo) | koshi-nage (shiho) |
koshi-nage (yoko) | koshi-nage (drop-lift) | koshi-nage (inside-shoulder) |
koshi-nage (outside-shoulder) | irimi-nage (standard) |
irimi-nage (full-entry) | irimi-nage (waist)
<immobilization>
=> ikkyo | nikkyo | sankyo | yonkyo | gokyo | rokyo | nikkyo-sankyo |
shiho-nage-pin | kote-geishi-pin


This grammar is in Backas-Naur form. The terminals are in bold. I am considering ways to turn this grammar into a computer program with images and animation to be used as an aid instruction. Here is my
first attempt. Using the same xml data file that the application runs off of we can produce a listing of all techniques from katate dori, and a page that shows all unique elements. Some of the inspiration for this work comes from Aikido and the Dynamic Sphere, by Westbrook and Ratti.