sed -e 's/\([A-Za-z]*\)\( \)\([A-Za-z]*\)\(:\?\)\([A-Za-z]*\)\?\( \)\?\(.*\)\?/[][][][][][][]/'
vai decorar
class VoxelbuilderAdda:public VoxelBuilder
Então parece que
[class][ ][VoxelbuilderAdda][:][public][ ][VoxelBuilder]
Se eu tiver
class VoxelBuilder
A saída é
[class][ ][VoxelBuilder][][][][]
É possível impedir que ele imprima os colchetes vazios?
O objetivo é imprimir todos os identificadores com o mesmo (colchetes são meus marcadores simples, mas eu deveria tê-los excluído das palavras-chave)
\textclassname{VoxelBuilder}
e deixe palavras-chave (class, struct, public, ...) e separadores como ':' como estão.
Obviamente, um padrão invertido para palavras-chave + separador é mais benéfico, mas não consegui descobrir . Eu realmente quero
Substitua a sequência X por \ textclassname {X} somente se X não for um dos
-
class
-
struct
-
union
-
public
-
private
-
protected
-
virtual
-
:
-
,
-
<
-
>
-
Eu tirei chaves e ponto-e-vírgula em uma etapa anterior. O objetivo seria
class \textclassname{VoxelbuilderAdda}:public \textclassname{VoxelBuilder}
Sem herança
class \textclassname{VoxelbuilderAdda}
Se eu não tivesse o operador disponível, ele não apenas cobriria os que eu tenho, mas também qualquer herança múltipla estranha.