2011-12-21 3 views
5

저는 ANTLR V3을 사용하여 DSL 언어 용 C# 코드를 생성하고 있습니다.ANTLR for C# 및 CLSCompliant 속성

생성 된 코드에는 내 프로젝트가 CLS 규격이 아니기 때문에 경고가 생성되는 laxer 및 parser 클래스의 CLSCompliant 특성이 포함되어 있습니다.

  1. ANTLR이 CLSCompliant 속성없이 코드를 생성하도록하려면 어떻게해야합니까?
  2. C# 3 문법의 문자열 템플릿을 변경할 수 있습니까?

답변

9

지금까지는 해당 경고를 사용하지 않도록 설정하고 (서식 파일을 사용하지 않아도 됨) 쉽게 해결할 수 있다고 생각했습니다.

는 단순히 문법 파일에

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

HTH 가브리엘

+0

이 맞아요. 시도해 보겠습니다. 감사 –

0

대신 경고를 억제, 명시 적으로 AssemblyInfo.cs에 속성을 사용하여 어셈블리가 CLS 준수하지 않는한다는 것은 맞습니다의를 다음을 추가합니다 :

[assembly: CLSCompliant(false)] 

이렇게하면 컴파일시 경고가 제거됩니다.