Looks good, but some of the specifications seem to preclude (to my understanding) some of the functionality that would be allowed by DX PS/VS 3.0....namely, the vertex can take texture memory as an input, but all the data flow connections I noticed seem to preclude the direct fragment shader output to vertex shader input I thought was allowed by some DX VS/PS 3.0 registers.
Perhaps the compilation could take advantage of the functionality in the hardware...or those enumerated "user-defined attributes" might allow such a concept to be expressed?