|  | ===================== | 
|  | TableGen Deficiencies | 
|  | ===================== | 
|  |  | 
|  | .. contents:: | 
|  | :local: | 
|  |  | 
|  | Introduction | 
|  | ============ | 
|  |  | 
|  | Despite being very generic, TableGen has some deficiencies that have been | 
|  | pointed out numerous times. The common theme is that, while TableGen allows | 
|  | you to build Domain-Specific-Languages, the final languages that you create | 
|  | lack the power of other DSLs, which in turn increase considerably the size | 
|  | and complexity of TableGen files. | 
|  |  | 
|  | At the same time, TableGen allows you to create virtually any meaning of | 
|  | the basic concepts via custom-made back-ends, which can pervert the original | 
|  | design and make it very hard for newcomers to understand it. | 
|  |  | 
|  | There are some in favour of extending the semantics even more, but making sure | 
|  | back-ends adhere to strict rules. Others suggesting we should move to more | 
|  | powerful DSLs designed with specific purposes, or even re-using existing | 
|  | DSLs. | 
|  |  | 
|  | Known Problems | 
|  | ============== | 
|  |  | 
|  | TODO: Add here frequently asked questions about why TableGen doesn't do | 
|  | what you want, how it might, and how we could extend/restrict it to | 
|  | be more use friendly. |