antlr3cls-compliant

ANTLR for C# and CLSCompliant attribute


I'm using ANTLR V3 to produce C# code for DSL language.

The produced code contain the attribute CLSCompliant on both laxer and parser classes which cause a warning to be generated because my project is not CLS compliant.

  1. How can I make ANTLR produce code without the CLSCompliant attribute?
  2. Is it possible to change the string template of C# 3 grammar?

Solution

  • I guess you've figured out the easy workaround by now which consists in disabling the corresponding warning (and saves you from fiddling with the templates).

    Simply add the following to your grammar file

    @parser::header {#pragma warning disable 3021}
    @lexer::header {#pragma warning disable 3021}
    

    HTH Gabriel