32 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
=====================
 | 
						|
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.
 |