A diferença mais significativa entre YACC / Bison e ANTLR é o tipo de gramática que essas ferramentas podem processar. YACC / Bison lida com gramáticas LALR, ANTLR lida com gramáticas LL.
Freqüentemente, as pessoas que trabalham com gramáticas LALR há muito tempo acham mais difícil trabalhar com gramáticas LL e vice-versa. Isso não significa que as gramáticas ou ferramentas sejam inerentemente mais difíceis de trabalhar. Qual ferramenta você acha mais fácil de usar se resume principalmente ao tipo de gramática.
Quanto às vantagens, há aspectos em que as gramáticas LALR têm vantagens sobre as gramáticas LL e há outros aspectos em que as gramáticas LL têm vantagens sobre as gramáticas LALR.
O YACC / Bison gera analisadores acionados por tabela, o que significa que a "lógica de processamento" está contida nos dados do programa analisador, não tanto no código do analisador. A recompensa é que mesmo um analisador para uma linguagem muito complexa possui uma pegada de código relativamente pequena. Isso foi mais importante nas décadas de 1960 e 1970, quando o hardware era muito limitado. Os geradores de analisadores acionados por tabela remontam a essa época e a presença de código pequeno era um requisito principal na época.
O ANTLR gera analisadores de descida recursiva, o que significa que a "lógica de processamento" está contida no código do analisador, pois cada regra de produção da gramática é representada por uma função no código do analisador. A recompensa é que é mais fácil entender o que o analisador está fazendo lendo seu código. Além disso, os analisadores de descida recursiva geralmente são mais rápidos que os analisados em tabelas. No entanto, para linguagens muito complexas, a pegada de código será maior. Este foi um problema nas décadas de 1960 e 1970. Naquela época, apenas linguagens relativamente pequenas como o Pascal, por exemplo, eram implementadas dessa maneira devido a limitações de hardware.
Os analisadores gerados pelo ANTLR estão tipicamente nas proximidades de 10.000 linhas de código e muito mais. Analisadores de descida recursiva manuscritos geralmente estão no mesmo estádio. O compilador Oberon da Wirth é talvez o mais compacto, com cerca de 4000 linhas de código, incluindo geração de código, mas o Oberon é uma linguagem muito compacta, com apenas cerca de 40 regras de produção.
Como alguém já apontou, uma grande vantagem do ANTLR é a ferramenta gráfica IDE, chamada ANTLRworks. É um laboratório completo de gramática e design de idiomas. Ele visualiza suas regras gramaticais à medida que você as digita e, se encontrar algum conflito, mostrará graficamente qual é o conflito e o que o causa. Pode até refatorar e resolver automaticamente conflitos como recursão à esquerda. Depois de ter uma gramática livre de conflitos, você pode permitir que o ANTLRworks analise um arquivo de entrada do seu idioma e crie uma árvore de análise e AST para você e mostre a árvore graficamente no IDE. Essa é uma grande vantagem, pois pode economizar muitas horas de trabalho: você encontrará erros conceituais no design do seu idioma antes de começar a codificar! Eu não encontrei nenhuma ferramenta para gramáticas LALR, parece que não existe.
Mesmo para pessoas que não desejam gerar seus analisadores, mas codificá-los manualmente, o ANTLRworks é uma ótima ferramenta para criação / prototipagem de linguagem. Muito possivelmente, a melhor ferramenta disponível. Infelizmente, isso não ajuda se você deseja criar analisadores LALR. Mudar de LALR para LL simplesmente para aproveitar o ANTLRworks pode valer a pena, mas para algumas pessoas, alternar tipos de gramática pode ser uma experiência muito dolorosa. Em outras palavras: YMMV.