Intersecção e subtração em classe de caracteres em regex no Java

O suporte a regex no Java traz uma inovação na parte de classe de caracteres, que é a possibilidade de fazer intersecção e substração. Veja os exemplos.

Debugando usando .gdbinit

Um excelente recurso do grande GDB é poder criar nossos próprios comandos para auxiliar no debug das aplicações. Fazemos isso num arquivo chamado .gdbinit, a sintaxe é bem simples, porém não encontrei documentação a respeito do suporte do .gdbinit, até então a documentação é ver os .gdbinit que o Google encontrar.
É possível chamar os comandos existentes, obviamente, e tambem declarar variáveis, fazer type-casting, acessar os membros de estruturas, tem um printf, podemos chamar as funções C, e etc.

Regex: Special Backtracking Control Verbs

"Special Backtracking Control Verbs" é o recurso introduzido no Perl 5.10, já suportado pela PCRE, embora não totalmente fidedigno. Recentemente encontrei um uso para um desses Control verbs, a situação é a seguinte: Casar o bloco do IF e se houver o ELSE também, mas com uma condição, o bloco do ELSE deverá estar em branco.

Simples exemplo de uso do re2c

Para quem não conhece, o re2c é um tool para escrever rápidos e flexíveis scanners. Um adepto desse tool não tão recentemente, é o PHP em sua versão 5.3, vindo assim a substituir o velho Flex, o qual já demostrei em posts anteriores envolvendo parsers. Em questão de atualizações, o re2c vem se mantendo mais ativo, visto que o Flex não atualiza desde fevereiro de 2008.

A forma de utilização do re2c é diferente do Flex, vendo o código abaixo percebemos que as declarações ficam dentro de uma espécie de comentário, que no fim de tudo tornar-se-á naquele conhecido código cheio de GOTOs. Enfim, veja como é simples!

Nested loops, Hash join e Sort Merge joins

Traduzi um ótimo post explicando os tipos operações que um join pode ter no Oracle. Assim podemos ter uma notação de quando devemos mudar os planos do Oracle para agir da forma que queremos, mas claro, sabendo o que está fazendo!