Get data from a Cycles BSDF?

In Cycles, it seems that BSDF nodes can only be hooked up to Shader inputs. Is there any places other than Mix/Add and Output nodes that I can hook as BSDF into? I want to be able to perform operations like color ramps on the results of the Shader BSDF (mostly for NPR effects.) Is this just not possible?

No, not possible. BSDFs contain no data, only descriptions of ray behavior, and only at render time. They have no inherent data included in them and therefore cannot be used to provide data to another node.

Alright. Then is there some other way to get, say, the distribution of light to dark that will be generated by a Diffuse node? Or is this what the Lamp Data node that I’ve seen people asking for would do?