私はANTLRが初めてで、それで遊んでいます。これは私が考えることができる最も単純な文法ですが、変数「id123」を解析するとまだ機能しません (NoViableAltException) が、「abc1」、「ab」、「c1d2f3」では機能します。
ANTLR 3.1.3 と ANTLRWorks 1.4 を使用しています。
options 
{
    language = 'CSharp2';
    output = AST;
}
assign  :   variable '=' value;
value   :   (variable|constant);
variable:   LETTER (LETTER|DIGIT)*;
constant:   (STRING|INTEGER);
DIGIT   :   '0'..'9';
NATURAL :   (DIGIT)+;   
INTEGER :   ('-')? NATURAL; 
REAL    :   (INTEGER '.' NATURAL);
LETTER  :   ('a'..'z'|'A'..'Z');
CR      :   '\r'        { $channel = HIDDEN; }; 
LF      :   '\n'        { $channel = HIDDEN; }; 
CRLF    :   CR LF       { $channel = HIDDEN; }; 
SPACE   :   (' '|'\t')  { $channel = HIDDEN; };
STRING  :   '"' (~'"')* '"';