home *** CD-ROM | disk | FTP | other *** search
/ Prima Shareware 3 / DuCom_Prima-Shareware-3_cd1.bin / PROGRAMO / PASCAL / PARSER / PARSER.DOC < prev    next >
Encoding:
Text File  |  1994-09-21  |  7.1 KB  |  187 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 3.0                                 *
  14. * Recursive Decent Expression Parser for Turbo Pascal, Loewy Ron, 1991, 1994. *
  15. * Parser.doc, Last Update : Sep. 12, 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 on-line help file in THELP/IDE format.
  42.  PARSER  .HLP   - Parser/TP on-line 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.  FORM1   .FRM   - Visual Basic Example.
  47.  MODULE1 .BAS   - Visual Basic DLL interface definition.
  48.  GETHUX  .C     - VC++ Example.
  49.  GET     .DEF   - VC++ DEF file.
  50.  
  51. Why Register
  52. ------------
  53.  
  54.   Parser/TP is a shareware product, if you find this product valuable, 
  55.  please register it. This section describes the reasons you should register.
  56.  
  57.   By registering Parser/TP you will receive the complete source code to the 
  58.  parser and the parser symbol table manager, and will be able to compile parser 
  59.  for inclusion in your protected mode and windows programs.
  60.  
  61.   Registered Parser/TP users get full no-royalty usage permission.
  62.  
  63. What's new
  64. ---------
  65.  
  66. V3.0 
  67.   - Added support for the ROUND and TRUNC functions.
  68.   - The DLL will now support more memory models, including the large model.
  69.   - Added a new function call to the DLL, that will allow Microsoft's VC++ 
  70.     and Visual Basic programs to access the DLL.
  71.  
  72. V2.5
  73.   - Added support for the RANDOM function.
  74.   - Improved Error detection and recovery.
  75.   - Fixed a bug in handling "dangling" operators 
  76.     (2+2+ used to result in 6 instead of error).
  77.   - Added a DLL version of Parser/TP that allows users of C/C++ and any other
  78.     language that supports DLLs to use the Parser/TP package.
  79.   - Added the CALCW demo program, a version of CALC that uses the DLL.
  80.   - Added C++ support files to call the DLL, includes an import library, 
  81.     a header file, and an easyWin demo version of the CALCW program (CALCCW).
  82.  
  83. V2.0
  84.   - Added a symbol table, and variable names can be up to 30 characters.
  85.   - Improved error reporting.
  86.   - Improved lexer.
  87.   - Improved CALC demo program. 
  88.   - The parser getExpr interface receives the source formula string as a
  89.     parameter.
  90.  
  91. V1.1 
  92.   - Added better documentation in PARSER.PAS source.
  93.   - Added A Simple Sample program - CALC.PAS.
  94.  
  95. Introduction
  96. ------------
  97.  
  98.  Parser/TP is a recursive decent expression parser unit for Turbo-Pascal, 
  99.  this unit includes the 5 basic math. operators (+ - * / ^), and some basic
  100.  mathematical functions (sin, exp, cos, ln, log10, log2, abs, arctan, sqr, 
  101.  round, sqrt, tan, cotan, arcsin, arccos, trunc) and 2 constants (pi, e). 
  102.  
  103.  Parser can be used to receive formula input from the user, and perform the 
  104.  necessary calculations during program runtime. 
  105.  
  106.  Parser/TP supports a dynamic symbol table, that is created and maintained 
  107.  during the parser's execution. New variables are created when they are 
  108.  referenced for the first time, and receive the initial value of 0.0 . 
  109.  
  110.  Variables values can be set by using the = operator 
  111.  (e.g. myvar = sin(anotherVar)*35 ), and used in user formulas.
  112.  
  113. Operation
  114. ---------
  115.  
  116.   Simply use parser unit in your program using the USES clause, when ever you
  117.  want to parse a string formula do :
  118.  
  119.         myResult := getExpr(formulaString, validity);
  120.         if (validity = false) then
  121.                 tellError { the formula has an error at the errAt byte }
  122.         else
  123.                 tellResult(myResult);
  124.  
  125.   Please note - the source code for the CALC program is provided, so you will 
  126.  probably find it easy to understand that example after you will look into the 
  127.  code.
  128.  
  129.   Also included in the package are a Borland C++ source, and sources for
  130.  Visual C++ and Visual Basic users.
  131.  
  132. Warranty
  133. --------
  134.  
  135. There is no warranty what so ever, The package is supplied as is,
  136. The distributor (HyperAct, Inc.), or the author (Loewy Ron), are not, 
  137. and will not be responsible for any damages, lost profits, 
  138. or inconveniences caused by the use, or inability to use this package. 
  139. The use of the program is at your own risk. 
  140. By using (or attempting to use) the package you agree to this.
  141.  
  142. General
  143. -------
  144.  
  145. Parser/TP is distributed by HyperAct, Inc. 
  146.                             P.O.Box 5517 
  147.                             Coralville IA 
  148.                             52241, U.S.A.
  149.   
  150. Parser/TP is a (c) copyright 1991, 1994 of HyperAct, Inc.
  151.  
  152. Parser/TP is a shareware package, please register your copy. 
  153. To register your copy of Parser please refer to the supplied
  154. PARSER.REG file. 
  155.  
  156. Other programs distributed by HyperAct, Inc. are described in the supplied  
  157. PROGRAMS.TXT file.
  158.  
  159. Contact
  160. -------
  161.  
  162.   Please contact :
  163.  
  164.         HyperAct, Inc.  
  165.         P.O.Box 5517
  166.         Coralville IA 52241
  167.         U.S.A
  168.  
  169.         E-Mail      : Compuserve - 76350,333
  170.         Phone/Fax   : (319) 351-8413
  171.            
  172. To contact the author directly please write to : 
  173.  
  174.            Loewy Ron
  175.  
  176.         E-Mail      : Compuserve - 100274,162
  177.                               Internet - rloewy@panix.com
  178.  
  179. Credits
  180. -------
  181.  
  182.   Parser/TP was created by Ron Loewy.
  183.  
  184.   Turbo Pascal is a Trademark/Copyright of Borland International. 
  185.  
  186.   David Huxtable provided the VB and VC++ code.
  187.