]> granicus.if.org Git - graphviz/commitdiff
Update with new lefty, fixing many bugs and supporting new features
authorerg <devnull@localhost>
Fri, 8 Apr 2005 20:45:34 +0000 (20:45 +0000)
committererg <devnull@localhost>
Fri, 8 Apr 2005 20:45:34 +0000 (20:45 +0000)
cmd/lefty/dot2l/dotparse.y
cmd/lefty/dot2l/dottrie.c
cmd/lefty/dot2l/triefa.c
cmd/lefty/dot2l/triefa.h
cmd/lefty/examples/fractal.lefty
cmd/lefty/examples/fractal2.lefty
cmd/lefty/examples/tree.lefty

index 55de494e4486320103deaf89f8a32a98cef0b38a..b16a82b5c442374bcd85b58a778ba9168aab19c4 100644 (file)
 **********************************************************/
 
 %{
-#ifdef HAVE_CONFIG_H
-#include "config.h"
+#if _PACKAGE_ast
+#include <ast.h>
 #endif
-
 #include <stdio.h>
+
 typedef void *Tobj;
 
+#include "config.h"
 #include "dot2l.h"
 
 #ifdef HAVE_STDLIB_H
 # include <stdlib.h>
 #endif
+
 #include <string.h>
 
 static char portstr[SMALLBUF];
index b6e68e9f89cce71bfa92f56fe24f4bf04715ce11..06f2a0ff3bd9bb338cfc41ae33bd837e2295f845 100644 (file)
 #include "triefa.h"
 
 TrieState TrieStateTbl[34] = {
-    {-1, 0, 0x42058}
-    ,
-    {-1, 5, 0x100}
-    ,
-    {-1, 6, 0x40}
-    ,
-    {-1, 7, 0x20000}
-    ,
-    {-1, 8, 0x1}
-    ,
-    {-1, 9, 0x8000}
-    ,
-    {-1, 10, 0x80}
-    ,
-    {T_digraph, 11, 0x0}
-    ,
-    {-1, 11, 0x8}
-    ,
-    {-1, 12, 0x40}
-    ,
-    {-1, 13, 0x10}
-    ,
-    {T_edge, 14, 0x0}
-    ,
-    {-1, 14, 0x20000}
-    ,
-    {-1, 15, 0x1}
-    ,
-    {-1, 16, 0x8000}
-    ,
-    {-1, 17, 0x80}
-    ,
-    {T_graph, 18, 0x0}
-    ,
-    {-1, 18, 0x4000}
-    ,
-    {-1, 19, 0x8}
-    ,
-    {-1, 20, 0x10}
-    ,
-    {T_node, 21, 0x0}
-    ,
-    {-1, 21, 0x180000}
-    ,
-    {-1, 23, 0x20000}
-    ,
-    {-1, 24, 0x100}
-    ,
-    {-1, 25, 0x4}
-    ,
-    {-1, 26, 0x80000}
-    ,
-    {T_strict, 27, 0x0}
-    ,
-    {-1, 27, 0x2}
-    ,
-    {-1, 28, 0x40}
-    ,
-    {-1, 29, 0x20000}
-    ,
-    {-1, 30, 0x1}
-    ,
-    {-1, 31, 0x8000}
-    ,
-    {-1, 32, 0x80}
-    ,
-    {T_subgraph, 33, 0x0}
-    ,
+    { -1,          0,  0x42058 },
+    { -1,          5,    0x100 },
+    { -1,          6,     0x40 },
+    { -1,          7,  0x20000 },
+    { -1,          8,      0x1 },
+    { -1,          9,   0x8000 },
+    { -1,         10,     0x80 },
+    { T_digraph,  11,      0x0 },
+    { -1,         11,      0x8 },
+    { -1,         12,     0x40 },
+    { -1,         13,     0x10 },
+    { T_edge,     14,      0x0 },
+    { -1,         14,  0x20000 },
+    { -1,         15,      0x1 },
+    { -1,         16,   0x8000 },
+    { -1,         17,     0x80 },
+    { T_graph,    18,      0x0 },
+    { -1,         18,   0x4000 },
+    { -1,         19,      0x8 },
+    { -1,         20,     0x10 },
+    { T_node,     21,      0x0 },
+    { -1,         21, 0x180000 },
+    { -1,         23,  0x20000 },
+    { -1,         24,    0x100 },
+    { -1,         25,      0x4 },
+    { -1,         26,  0x80000 },
+    { T_strict,   27,      0x0 },
+    { -1,         27,      0x2 },
+    { -1,         28,     0x40 },
+    { -1,         29,  0x20000 },
+    { -1,         30,      0x1 },
+    { -1,         31,   0x8000 },
+    { -1,         32,     0x80 },
+    { T_subgraph, 33,      0x0 },
 };
 TrieTrans TrieTransTbl[33] = {
-    /* State   0 */ {'s', 21}
-    , {'e', 8}
-    , {'g', 12}
-    ,
-    {'n', 17}
-    , {'d', 1}
-    ,
-    /* State   1 */ {'i', 2}
-    ,
-    /* State   2 */ {'g', 3}
-    ,
-    /* State   3 */ {'r', 4}
-    ,
-    /* State   4 */ {'a', 5}
-    ,
-    /* State   5 */ {'p', 6}
-    ,
-    /* State   6 */ {'h', 7}
-    ,
-    /* State   8 */ {'d', 9}
-    ,
-    /* State   9 */ {'g', 10}
-    ,
-    /* State  10 */ {'e', 11}
-    ,
-    /* State  12 */ {'r', 13}
-    ,
-    /* State  13 */ {'a', 14}
-    ,
-    /* State  14 */ {'p', 15}
-    ,
-    /* State  15 */ {'h', 16}
-    ,
-    /* State  17 */ {'o', 18}
-    ,
-    /* State  18 */ {'d', 19}
-    ,
-    /* State  19 */ {'e', 20}
-    ,
-    /* State  21 */ {'t', 22}
-    , {'u', 27}
-    ,
-    /* State  22 */ {'r', 23}
-    ,
-    /* State  23 */ {'i', 24}
-    ,
-    /* State  24 */ {'c', 25}
-    ,
-    /* State  25 */ {'t', 26}
-    ,
-    /* State  27 */ {'b', 28}
-    ,
-    /* State  28 */ {'g', 29}
-    ,
-    /* State  29 */ {'r', 30}
-    ,
-    /* State  30 */ {'a', 31}
-    ,
-    /* State  31 */ {'p', 32}
-    ,
-    /* State  32 */ {'h', 33}
-    ,
+    /* State   0 */  { 's',  21 }, { 'e',   8 }, { 'g',  12 },
+                     { 'n',  17 }, { 'd',   1 },
+    /* State   1 */  { 'i',   2 },
+    /* State   2 */  { 'g',   3 },
+    /* State   3 */  { 'r',   4 },
+    /* State   4 */  { 'a',   5 },
+    /* State   5 */  { 'p',   6 },
+    /* State   6 */  { 'h',   7 },
+    /* State   8 */  { 'd',   9 },
+    /* State   9 */  { 'g',  10 },
+    /* State  10 */  { 'e',  11 },
+    /* State  12 */  { 'r',  13 },
+    /* State  13 */  { 'a',  14 },
+    /* State  14 */  { 'p',  15 },
+    /* State  15 */  { 'h',  16 },
+    /* State  17 */  { 'o',  18 },
+    /* State  18 */  { 'd',  19 },
+    /* State  19 */  { 'e',  20 },
+    /* State  21 */  { 't',  22 }, { 'u',  27 },
+    /* State  22 */  { 'r',  23 },
+    /* State  23 */  { 'i',  24 },
+    /* State  24 */  { 'c',  25 },
+    /* State  25 */  { 't',  26 },
+    /* State  27 */  { 'b',  28 },
+    /* State  28 */  { 'g',  29 },
+    /* State  29 */  { 'r',  30 },
+    /* State  30 */  { 'a',  31 },
+    /* State  31 */  { 'p',  32 },
+    /* State  32 */  { 'h',  33 },
 };
index a86e12b4d2c8071e62b1d55ec22d40da425f45af..0e773b8ae04807024d925e8f5788999d8cf557b6 100644 (file)
 *              AT&T Research, Florham Park NJ             *
 **********************************************************/
 
-/* File - TrieFA.ins.c
- *
- *    This file contains code to be included in the scanner file using a
- *    generated trie-based FA.
- */
+/*  File - TrieFA.ins.c
+    This file contains code to be included in the scanner file using a
+    generated trie-based FA.
+*/
 
 #include "triefa.h"
 
@@ -54,18 +53,16 @@ static long CharMask[26] = {
 
 static short TFA_State;
 
-/* TFA_Init:
- *
- *    Initialize the trie FA.
- */
+/*  TFA_Init:
+    Initialize the trie FA.
+*/
 #define TFA_Init() TFA_State = 0
 
-/* TFA_Advance:
- *
- * Advance to the next state (or -1) on the lowercase letter c.
- * This should be an inline routine, but the C++ implementation
- * isn't advanced enough so we use a macro.
- */
+/*  TFA_Advance:
+    Advance to the next state (or -1) on the lowercase letter c.
+    This should be an inline routine, but the C++ implementation
+    isn't advanced enough so we use a macro.
+*/
 #define TFA_Advance(C) { \
     char c = C; \
     if (TFA_State >= 0) { \
@@ -84,12 +81,11 @@ static short TFA_State;
         else \
             TFA_State = -1; \
     } \
-  TFA_done:; \
-}                              /* end of TFA_Advance. */
+TFA_done:; \
+} /* end of TFA_Advance. */
 
-/* TFA_Definition:
- *
- *    Return the definition (if any) associated with the current state.
- */
+/*  TFA_Definition:
+    Return the definition (if any) associated with the current state.
+*/
 #define TFA_Definition() \
     ((TFA_State < 0) ? -1 : TrieStateTbl[TFA_State].def)
index b5f3266a3b6f46d53bffec3d22395031d8908a9c..abd4f989a7fef83b352a192c63274f642d6a6482 100644 (file)
 extern "C" {
 #endif
 
-/* File - TrieFA.h
- *
- *    The data types for the generated trie-baseed finite automata.
- */
+/*  File - TrieFA.h
+    The data types for the generated trie-baseed finite automata.
+*/
 
-    struct TrieState {         /* An entry in the FA state table */
-       short def;              /* If this state is an accepting state then */
-       /* this is the definition, otherwise -1.    */
-       short trans_base;       /* The base index into the transition table. */
-       long mask;              /* The transition mask.                     */
-    };
+struct TrieState {  /* An entry in the FA state table */
+    short def;         /* If this state is an accepting state then */
+                       /* this is the definition, otherwise -1.    */
+    short trans_base;  /* The base index into the transition table.*/
+    long  mask;        /* The transition mask.                     */
+};
 
-    struct TrieTrans {         /* An entry in the FA transition table. */
-       short c;                /* The transition character (lowercase). */
-       short next_state;       /* The next state.                       */
-    };
+struct TrieTrans {  /* An entry in the FA transition table. */
+    short c;           /* The transition character (lowercase). */
+    short next_state;  /* The next state.                       */
+};
 
-    typedef struct TrieState TrieState;
-    typedef struct TrieTrans TrieTrans;
+typedef struct TrieState TrieState;
+typedef struct TrieTrans TrieTrans;
 
-    extern TrieState TrieStateTbl[];
-    extern TrieTrans TrieTransTbl[];
+extern TrieState TrieStateTbl[];
+extern TrieTrans TrieTransTbl[];
 
 #ifdef __cplusplus
 }
 #endif
+
index 1bfc445d70ccf6fdde3adfbf88fcd994a47c5007..75de5d9688484fe18cc96ca9e506074db55e5e01 100644 (file)
@@ -69,10 +69,12 @@ transformfractal = function (prevpoint, currpoint) {
     prevtan = atan (prevpoint.y - center.y, prevpoint.x - center.x);
     currtan = atan (currpoint.y - center.y, currpoint.x - center.x);
     fractalangle = fractalangle + (currtan - prevtan);
-    prevradius = sqrt (sq (prevpoint.y - center.y) +
-                       sq (prevpoint.x - center.x));
-    currradius = sqrt (sq (currpoint.y - center.y) +
-                       sq (currpoint.x - center.x));
+    prevradius = sqrt (
+        sq (prevpoint.y - center.y) + sq (prevpoint.x - center.x)
+    );
+    currradius = sqrt (
+        sq (currpoint.y - center.y) + sq (currpoint.x - center.x)
+    );
     radius = radius / prevradius * currradius;
     length = radius / 2 * sqrt (12);
 };
index b3ee681cd11c78772e4eb96c7e8fdf18755e9b28..420da941a9d43f84b3df58adde5b8fcc5e00a429 100644 (file)
@@ -112,10 +112,12 @@ transformfractal = function (prevpoint, currpoint) {
     prevtan = atan (prevpoint.y - center.y, prevpoint.x - center.x);
     currtan = atan (currpoint.y - center.y, currpoint.x - center.x);
     fractalangle = fractalangle + (currtan - prevtan);
-    prevradius = sqrt (sq (prevpoint.y - center.y) +
-                       sq (prevpoint.x - center.x));
-    currradius = sqrt (sq (currpoint.y - center.y) +
-                       sq (currpoint.x - center.x));
+    prevradius = sqrt (
+        sq (prevpoint.y - center.y) + sq (prevpoint.x - center.x)
+    );
+    currradius = sqrt (
+        sq (currpoint.y - center.y) + sq (currpoint.x - center.x)
+    );
     radius = radius / prevradius * currradius;
     length = radius / 2 * sqrt (12);
 };
index 92c2997843af3688eac5384b7e803a12801cbca8..0af3f8cc7cb7c8d9ab5b9ea3daa19b2a1bfd0c91 100644 (file)
@@ -135,12 +135,12 @@ inode = function (point, name) {
     return nodearray[nnum];
 };
 iedge = function (node1, node2) {
-     node1.ch[node1.chn] = node2;
-     node1.chn = node1.chn + 1;
-     node2.depth = node1.depth + 1;
-     complayout ();
-     clear (canvas);
-     drawtree (tree);
+    node1.ch[node1.chn] = node2;
+    node1.chn = node1.chn + 1;
+    node2.depth = node1.depth + 1;
+    complayout ();
+    clear (canvas);
+    drawtree (tree);
 };
 fix = function (node, op, np) {
     if (node.depth ~= 0)