Mercurial > hg > CbC > CbC_llvm
comparison docs/TableGen/Deficiencies.rst @ 77:54457678186b LLVM3.6
LLVM 3.6
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 08 Sep 2014 22:06:00 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
34:e874dbf0ad9d | 77:54457678186b |
---|---|
1 ===================== | |
2 TableGen Deficiencies | |
3 ===================== | |
4 | |
5 .. contents:: | |
6 :local: | |
7 | |
8 Introduction | |
9 ============ | |
10 | |
11 Despite being very generic, TableGen has some deficiencies that have been | |
12 pointed out numerous times. The common theme is that, while TableGen allows | |
13 you to build Domain-Specific-Languages, the final languages that you create | |
14 lack the power of other DSLs, which in turn increase considerably the size | |
15 and complexity of TableGen files. | |
16 | |
17 At the same time, TableGen allows you to create virtually any meaning of | |
18 the basic concepts via custom-made back-ends, which can pervert the original | |
19 design and make it very hard for newcomers to understand it. | |
20 | |
21 There are some in favour of extending the semantics even more, but making sure | |
22 back-ends adhere to strict rules. Others suggesting we should move to more | |
23 powerful DSLs designed with specific purposes, or even re-using existing | |
24 DSLs. | |
25 | |
26 Known Problems | |
27 ============== | |
28 | |
29 TODO: Add here frequently asked questions about why TableGen doesn't do | |
30 what you want, how it might, and how we could extend/restrict it to | |
31 be more use friendly. |