home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast2.iso / turbopas / parstp25.zip / PARSER.DOC < prev    next >
Text File  |  1994-02-14  |  7KB  |  167 lines

  1.  
  2.  ╔══════════════════════════════════════════════════════════════════════════╗
  3.  ║                                                                          ║
  4.  ║                               HyperAct, Inc.                             ║
  5.  ║                               P.O.Box. 5517                              ║
  6.  ║                         Coralville IA 52241 U.S.A                        ║
  7.  ║                          Compuserve - 76350,333                          ║
  8.  ║                        Phone/Fax - (319) 351-8413                        ║
  9.  ║                                                                          ║
  10.  ╚══════════════════════════════════════════════════════════════════════════╝ 
  11.  
  12. *******************************************************************************
  13. *                               PARSER/TP 2.5                                 *
  14. * Recursive Decent Expression Parser for Turbo Pascal, Loewy Ron, 1991, 1994. *
  15. * Parser.doc, Last Update : Feb. 14, 1994                                     *
  16. *******************************************************************************
  17.  
  18. File List
  19. ---------
  20.  
  21.  This package contains the following files :
  22.  
  23.  PARSER  .INT   - Parser/TP Turbo Pascal Interface Source file.
  24.  PARSER  .TPU   - Parser/TP Turbo Pascal Real Mode Unit.
  25.  PARSER  .DOC   - Parser/TP documentation file. 
  26.  PARSER  .REG   - Parser/TP Registration File.
  27.  PARSER  .DLL   - Parser/TP DLL.
  28.  PARSLIB .PAS   - Parser/TP import unit for DLL.
  29.  PROGRAMS.TXT   - HyperAct Inc shareware products description.
  30.  CALC    .PAS   - Simple Parser Turbo Pascal test sample.
  31.  CALCW   .PAS   - Simple Parser Turbo Pascal test sample - uses DLL.
  32.  PARSEDB .TPU   - Parser Symbol Table manager Module.
  33.  DBENGBAS.TPU   - Parser Symbol Table manager Module.
  34.  DBENGMEM.TPU   - Parser Symbol Table manager Module.
  35.  TBLBASE .TPU   - Parser Symbol Table manager Module.
  36.  QUICKSRT.TPU   - Parser Symbol Table manager Module.
  37.  COMBSRT .TPU   - Parser Symbol Table manager Module.
  38.  MERGSORT.TPU   - Parser Symbol Table manager Module.
  39.  DATEUNIT.TPU   - Parser Symbol Table manager Module.
  40.  MEMTBOBJ.TPU   - Parser Symbol Table manager Module.
  41.  PARSER  .TPH   - Parser/TP online help file in THELP/IDE format.
  42.  PARSER  .HLP   - Parser/TP online help file in WINHELP format.
  43.  PARSER  .LIB   - Parser/TP Library for use with BC++/4
  44.  PARSLIB .H     - Header File for C++/DLL
  45.  CALCCW.CPP     - BC++/4 C++ source to the calc program.
  46.  
  47. Why Register
  48. ------------
  49.  
  50.   Parser/TP is a shareware product, if you find this product valuable, 
  51.  please register it. This section describes the reasones you should register.
  52.  
  53.   By registering Parser/TP you will receive the complete source code to the 
  54.  parser and the parser symbol table manager, and will be able to compile parser 
  55.  for inclusion in your protected mode and windows programs.
  56.  
  57.   Registered Parser/TP users get full no-rotality usage permission.
  58.  
  59. Whats new
  60. ---------
  61.  
  62. V2.5
  63.   - Added support for the RANDOM function.
  64.   - Improved Error detection and recovery.
  65.   - Fixed a bug in handling "dangling" operators 
  66.     (2+2+ used to result in 6 instead of error).
  67.   - Added a DLL version of Parser/TP that allows users of C/C++ and any other
  68.     language that supports DLLs to use the Parser/TP package.
  69.   - Added the CALCW demo program, a version of CALC that uses the DLL.
  70.   - Added C++ support files to call the DLL, includes an import library, 
  71.     a header file, and an easyWin demo version of the CALCW program (CALCCW).
  72.  
  73. V2.0
  74.   - Added a symbol table, and variable names can be up to 30 characters.
  75.   - Improved error reporting.
  76.   - Improved lexer.
  77.   - Improved CALC demo program. 
  78.   - The parser getExpr interface receives the source formula string as a
  79.     parameter.
  80.  
  81. V1.1 
  82.   - Added better documentation in PARSER.PAS source.
  83.   - Added A Simple Sample program - CALC.PAS.
  84.  
  85. Introduction
  86. ------------
  87.  
  88.   Parser/TP is a recursive decent expression parser unit for Turbo-Pascal, this 
  89.  unit includes the 5 basic math. operators (+ - * / ^), and some basic
  90.  mathematical functions (sin, exp, cos, ln, log10, log2, abs, arctan, sqr,
  91.  sqrt, tan, cotan, arcsin, arccos) and 2 constants (pi, e). Parser can be 
  92.  used to receive formula input from the user, and perform the neccessary 
  93.  calculations during program runtime. Parser/TP supports a dynamic symbol 
  94.  table, that is created and maintained during the parser's execution. New 
  95.  variables are created when they are referenced for the first time, and 
  96.  receive the initial value of 0.0 . Variables values can be set by using the
  97.  = operator (e.g. myvar = sin(anotherVar)*35 ), and used in user formulas.
  98.  
  99. Operation
  100. ---------
  101.  
  102.   Simply use parser unit in your program using the USES clause, when ever you
  103.  want to parse a string formula do :
  104.  
  105.         myResult := getExpr(formulaString, validity);
  106.         if (validity = false) then
  107.                 tellError { the formula has an error at the errAt byte }
  108.         else
  109.                 tellResult(myResult);
  110.  
  111.   Please notice - the source code for the CALC program is provided, so you will 
  112.  probably find it easy to understand that example after you will look into the 
  113.  code.
  114.  
  115. Warranty
  116. --------
  117.  
  118. There is no warranty what so ever, The package is supplied as is,
  119. The distributor (HyperAct, Inc.), or the author (Loewy Ron), are not, 
  120. and will not be responsible for any damages, lost profits, 
  121. or inconveniences caused by the use, or inability to use this package. 
  122. The use of the program is at your own risk. 
  123. By using (or attempting to use) the package you agree to this.
  124.  
  125. General
  126. -------
  127.  
  128. Parser/TP is distributed by HyperAct Inc., 
  129.                             P.O.Box 5517 
  130.                             Coralville IA 
  131.                             52241, U.S.A.
  132.   
  133. Parser/TP is a (c) copyright 1991, 1994 of HyperAct Inc.
  134.  
  135. Parser/TP is a shareware package, please register your copy. 
  136. To register your copy of Parser please refer to the supplied
  137. PARSER.REG file. 
  138.  
  139. Other programs distributed by HyperAct, Inc. are described in the supplied  
  140. PROGRAMS.TXT file.
  141.  
  142. Contact
  143. -------
  144.  
  145.   Please contact :
  146.  
  147.         HyperAct, Inc.  
  148.         P.O.Box 5517
  149.         Coralville IA 52241
  150.         U.S.A
  151.  
  152.         E-Mail      : Compuserve - 76350,333
  153.         Phone/Fax   : (319) 351-8413
  154.            
  155. To contact the author directly please write to : 
  156.  
  157.            Loewy Ron
  158.  
  159.         E-Mail      : Compuserve - 100274,162
  160.  
  161. Credits
  162. -------
  163.  
  164.   Parser/TP was created by Ron Loewy.
  165.  
  166.   Turbo Pascal is a Trademark/Copyright of Borland International. 
  167.