b'\n_START_ARTICLE_\nDOT\n_START_PARAGRAPH_\nDOT \xc3\xa9 uma linguagem de descri\xc3\xa7\xc3\xa3o de grafos em texto puro. Grafos em DOT normalmente s\xc3\xa3o arquivos com a extens\xc3\xa3o de arquivo gv ou dot. A extens\xc3\xa3o gv \xc3\xa9 prefer\xc3\xadvel, para evitar confus\xc3\xa3o com a extens\xc3\xa3o dot usada pelas primeiras (pr\xc3\xa9-2007) vers\xc3\xb5es do Microsoft Word._NEWLINE_V\xc3\xa1rios programas podem processar arquivos DOT. Alguns, como o OmniGraffle, dot, neato, twopi, circo, fdp, e sfdp, podem ler DOT e renderiz\xc3\xa1-lo em forma gr\xc3\xa1fica. Outros, como gvpr, gc, acyclic, ccomps, sccmap, e tred, l\xc3\xaaem arquivos DOT e executam c\xc3\xa1lculos com o grafo representado. Finalmente, outros, tais como lefty, dotty, e grappa, fornecem uma interface interativa. A ferramenta GVedit combina um editor de texto com um visualizador de imagem n\xc3\xa3o-interativo. A maioria dos programas fazem parte do pacote Graphviz ou o usam internamente.\n_START_SECTION_\nGrafos n\xc3\xa3o orientados\n_START_PARAGRAPH_\nNa sua forma mais simples, DOT pode ser usado para descrever um grafo n\xc3\xa3o-orientado. Um grafo n\xc3\xa3o orientado mostra rela\xc3\xa7\xc3\xb5es simples entre objetos, como por exemplo a amizade entre pessoas. A palavra-chave graph \xc3\xa9 utilizada para iniciar um novo grafo, e os n\xc3\xb3s s\xc3\xa3o descritos dentro de chaves. Um h\xc3\xadfen duplo (--) \xc3\xa9 utilizado para mostrar rela\xc3\xa7\xc3\xb5es entre n\xc3\xb3s._NEWLINE_ // Nome e ponto-e-v\xc3\xadrgula s\xc3\xa3o opicionais graph nome {     a -- b -- c;     b -- d; }\n_START_SECTION_\nGrafos orientados\n_START_PARAGRAPH_\nSemelhante aos grafos n\xc3\xa3o orientados, DOT pode descrever grafos orientados, tais como fluxogramas e \xc3\xa1rvores de depend\xc3\xaancias. A sintaxe \xc3\xa9 a mesma dos grafos n\xc3\xa3o-orientados, exceto que a palavra-chave digraph \xc3\xa9 usada para come\xc3\xa7ar o grafo, e uma seta (->) \xc3\xa9 usada para mostrar as rela\xc3\xa7\xc3\xb5es entre os n\xc3\xb3s._NEWLINE_ digraph nome {_NEWLINE_     a -> b -> c;_NEWLINE_     b -> d;_NEWLINE_ }\n_START_SECTION_\nAtributos\n_START_PARAGRAPH_\nV\xc3\xa1rios atributos podem ser aplicados a grafos, n\xc3\xb3s (nodes) e arestas (edges) em arquivos DOT. Estes atributos podem controlar aspectos como cor, forma e estilos de linha. Para n\xc3\xb3s e arestas, um ou mais pares de atributo-valor s\xc3\xa3o colocados entre colchetes ([]) depois de uma instru\xc3\xa7\xc3\xa3o e antes do ponto-e-v\xc3\xadrgula (que \xc3\xa9 opcional). Atributos de grafo s\xc3\xa3o especificados como pares atributo-valor abaixo do elemento grafo. V\xc3\xa1rios atributos s\xc3\xa3o separados por v\xc3\xadrgulas ou usando v\xc3\xa1rios conjuntos de colchetes. Atributos do n\xc3\xb3 s\xc3\xa3o colocados depois de uma declara\xc3\xa7\xc3\xa3o contendo apenas o nome do n\xc3\xb3, e nenhuma rela\xc3\xa7\xc3\xa3o._NEWLINE_ graph graphname {     // Este atributo se aplica ao gr\xc3\xa1fico     size="1,1";     // Label (r\xc3\xb3tulo) muda o r\xc3\xb3tulo de um n\xc3\xb3     a [label="Foo"];     // Shape (forma) muda o formato do n\xc3\xb3     b [shape=box];     // Essas arestas t\xc3\xaam propriedades de linha diferentes     a -- b -- c [color=blue];     b -- d [style=dotted];     // [style=invis] esconde um n\xc3\xb3 }_NEWLINE_R\xc3\xb3tulos no estilo HTML est\xc3\xa3o dispon\xc3\xadveis apenas em vers\xc3\xb5es do Graphviz que s\xc3\xa3o mais recentes do que novembro de 2003. Em particular, eles n\xc3\xa3o s\xc3\xa3o parte da vers\xc3\xa3o 1.10.\n_START_SECTION_\nComent\xc3\xa1rios\n_START_PARAGRAPH_\nDOT suporta coment\xc3\xa1rios de uma ou m\xc3\xbaltiplas linhas no estilo de C e C++. Al\xc3\xa9m disso, ele ignora as linhas come\xc3\xa7ando com o s\xc3\xadmbolo #._NEWLINE_ // Esse \xc3\xa9 um coment\xc3\xa1rio de uma linha_NEWLINE_ /* Esse \xc3\xa9 um_NEWLINE_    coment\xc3\xa1rio de_NEWLINE_    v\xc3\xa1rias linhas. */_NEWLINE_ # Linhas como essa tamb\xc3\xa9m s\xc3\xa3o ignoradas\n_START_SECTION_\nUm exemplo simples\n_START_PARAGRAPH_\nA seguir, um exemplo de script que descreve a estrutura de liga\xc3\xa7\xc3\xa3o de uma mol\xc3\xa9cula de etano. Este \xc3\xa9 um grafo n\xc3\xa3o orientado e cont\xc3\xa9m atributos do n\xc3\xb3, como explicado acima._NEWLINE_ graph etano {_NEWLINE_     C_0 -- H_0 [type=s];_NEWLINE_     C_0 -- H_1 [type=s];_NEWLINE_     C_0 -- H_2 [type=s];_NEWLINE_     C_0 -- C_1 [type=s];_NEWLINE_     C_1 -- H_3 [type=s];_NEWLINE_     C_1 -- H_4 [type=s];_NEWLINE_     C_1 -- H_5 [type=s];_NEWLINE_ }\n_START_SECTION_\nLimita\xc3\xa7\xc3\xb5es\n_START_PARAGRAPH_\n\xc3\x89 poss\xc3\xadvel especificar detalhes de layout em DOT, mas nem todas as ferramentas que implementam DOT d\xc3\xa3o aten\xc3\xa7\xc3\xa3o aos atributos de posi\xc3\xa7\xc3\xa3o. Assim, dependendo das ferramentas utilizadas, os usu\xc3\xa1rios devem confiar em algoritmos de layout automatizado (potencialmente gerando resultados inesperados) ou tediosamente posicionando n\xc3\xb3s a m\xc3\xa3o._NEWLINE_Por exemplo:_NEWLINE_digraph g {_NEWLINE_node [shape=plaintext];_NEWLINE_A1 -> B1;_NEWLINE_A2 -> B2;_NEWLINE_A3 -> B3;_NEWLINE__NEWLINE_A1 -> A2 [label=f];_NEWLINE_A2 -> A3 [label=g];_NEWLINE_B2 -> B3 [label="g\'"];_NEWLINE_B1 -> B3 [label="(g o f)\'" tailport=s headport=s];_NEWLINE__NEWLINE_{ rank=same; A1 A2 A3 }_NEWLINE_{ rank=same; B1 B2 B3 }_NEWLINE_}_NEWLINE_H\xc3\xa1 dois problemas na imagem acima. O quadrado na direita n\xc3\xa3o \xc3\xa9 um quadrado perfeito e o r\xc3\xb3tulo "(g o f)\'" est\xc3\xa1 no lugar errado._NEWLINE_Isto pode ser corrigido comInkscape ou outros editores de SVG. Em alguns casos, isso tamb\xc3\xa9m pode ser corrigido usando o atributo pos para especificar uma posi\xc3\xa7\xc3\xa3o.'