home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 mARCH / PCWK3A99.iso / Linux / DDD331 / DDD-3_1_.000 / DDD-3_1_ / ddd-3.1.1 / vsllib / vsllib.vsl < prev   
Text File  |  1998-11-23  |  3KB  |  73 lines

  1. // $Id: vsllib.vsl,v 1.7 1998/11/23 13:53:04 zeller Exp $
  2. // Print VSL definitions
  3.  
  4. // Copyright (C) 1993 Technische Universitaet Braunschweig, Germany.
  5. // Written by Andreas Zeller <zeller@ips.cs.tu-bs.de>.
  6. // 
  7. // This file is part of the DDD Library.
  8. // 
  9. // The DDD Library is free software; you can redistribute it and/or
  10. // modify it under the terms of the GNU Library General Public
  11. // License as published by the Free Software Foundation; either
  12. // version 2 of the License, or (at your option) any later version.
  13. // 
  14. // The DDD Library is distributed in the hope that it will be useful,
  15. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  17. // See the GNU Library General Public License for more details.
  18. // 
  19. // You should have received a copy of the GNU Library General Public
  20. // License along with the DDD Library -- see the file COPYING.LIB.
  21. // If not, write to the Free Software Foundation, Inc.,
  22. // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  23. // 
  24. // DDD is the data display debugger.
  25. // For details, see the DDD World-Wide-Web page, 
  26. // `http://www.cs.tu-bs.de/softech/ddd/',
  27. // or send a mail to the DDD developers <ddd@ips.cs.tu-bs.de>.
  28.  
  29. #include <std.vsl>
  30. #include <fonts.vsl>
  31. #include <tree.vsl>
  32.  
  33. f(text) = fix(frame(text));
  34.  
  35. // t(root, ...) = htree(hwhite() | f(root) | hwhite(), ...);
  36. t(root, ...) = vtree(vwhite() & f(root) & vwhite(), ...);
  37.  
  38. l(label) = bf(label);
  39. l(label, property) = bf(label) | hrule() | rm(property);
  40.  
  41. // Defaults
  42. NoPatternText() = rm("<no pattern>");
  43. NoDefText() = rm("<no def>");
  44. NoPatternTree() = t(rm("<no pattern>"));
  45. NoDefTree() = t(rm("<no def>"));
  46.  
  47.  
  48. // Library
  49. VSLLib(name, vsldefs...) = (|)(bf(name, family_times(), 34), hrule(), 
  50.     vsldefs...);
  51.  
  52. // Definition
  53. VSLDef(name, _, exprAsText, _, expr) = 
  54.   vspace(15)
  55. | fix(
  56.     hcenter(bf(name & " = " | indent(exprAsText))) 
  57.   | vspace(10) 
  58.   | hcenter(fix(expr)))
  59. | vspace(15)
  60. | hrule();
  61.  
  62. // Nodes
  63. ArgNode(id)                = t(l("ArgNode", dec(id)));
  64. BuiltinCallNode(name, ...) = t(l("BuiltinCallNode", name), ...);
  65. CallNode(name, ...)        = t(l("CallNode", name), ...);
  66. ConstNode(box)             = t(l("ConstNode", box));
  67. DefCallNode(name, ...)     = t(l("DefCallNode", name), ...);
  68. DummyNode()                = t(l("DummyNode"));
  69. LetNode(...)               = t(l("LetNode"), ...);
  70. ListNode(...)              = t(l("ListNode"), ...);
  71. NameNode(name)             = t(l("NameNode", name));
  72. TestNode(...)           = t(l("TestNode"), ...);
  73.