Codetector via llvm-dev
2019-Oct-04 17:50 UTC
[llvm-dev] Tablegen Grammar "include" as a keyword
Was in the process of creating an TabelGen plugin for IntelliJ IDEs, wondering why in the documentation "include" is not listed as a keyword? Yaotia
Chris Lattner via llvm-dev
2019-Oct-04 23:42 UTC
[llvm-dev] Tablegen Grammar "include" as a keyword
> On Oct 4, 2019, at 10:50 AM, Codetector via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > Was in the process of creating an TabelGen plugin for IntelliJ IDEs, wondering why in the documentation "include" is not listed as a keyword?I suspect this is just an oversight, it would be great to fix this :) -Chris
Sean Silva via llvm-dev
2019-Oct-10 19:35 UTC
[llvm-dev] Tablegen Grammar "include" as a keyword
It's great to see work on improving language support for TableGen in tools! "include" is technically a preprocessing directive in TableGen. It is not a keyword of the TableGen grammar proper, just as "include" is not a keyword in the C/C++ grammar. E.g. "include" is not listed in section "2.11 Keywords [lex.key]" in the C++ language standard <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf>, but rather only mentioned in a highly specific way in "16 Preprocessing directives [cpp]". We mention TableGen's include mechanism briefly in https://llvm.org/docs/TableGen/LangRef.html#syntax ``` TableGen has an include mechanism. It does not play a role in the syntax per se, since it is lexically replaced with the contents of the included file. IncludeDirective ::= "include" TokString ``` Since that's the only "preprocessing" TableGen has, we don't have a while explicit section (analogous to "16 Preprocessing directives [cpp]" in the C++ standard) giving more details on the TableGen "preprocessor" in this sense. We maybe should, technically speaking. TableGen's top-level grammar production is `TableGenFile ::= Object*`, analogous to C++'s "translation-unit" production. -- Sean Silva On Fri, Oct 4, 2019 at 10:50 AM Codetector via llvm-dev < llvm-dev at lists.llvm.org> wrote:> Was in the process of creating an TabelGen plugin for IntelliJ IDEs, > wondering why in the documentation "include" is not listed as a keyword? > > > Yaotia > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20191010/f2254124/attachment.html>