nadir11.zip Macro & Procedural Language for DOS & Windows The Nadir program is provided as shareware with the following limitations: The program is shareware and is not to be resold or distributed for sale with other programs which are for sale. The shareware version of Nadir may be shared with others as long as the contents of the product are not modified in any way. There is no warranty or claim of fitness or reliability. The program is distributed AS IS, and as such the author shall not be held liable for any loss of data, down time, loss of revenue or any other direct or indirect damage or claims caused by this program. If you want to register Nadir, fill out the enclosed order.frm and send to the address below. A copy of the commercial version and a printed manual will be sent to you. Enexe Systems P.O. Box 771 Ashgrove. 4060 Australia. If you have any comments or questions, please send mail to the above address or email to ENEXE@mailbox.uq.edu.au A Description of Nadir ====================== Nadir is an interpreted programming language. It is designed to be simple yet intelligent, to reuse as many of its algorithms as possible to produce a small yet powerful programming system. It combines macro generation capabilities, with the ability to write procedural functions. With it you can generate code for any language, analyse and manipulate text files, write database style applications that run unchanged under DOS and Windows, or use it as a calculator. The name Nadir, the opposite of the zenith, is used to signify a starting point, a minimal set of rules and functions upon which things can be built. It will appeal to students, professional programmers, and the home enthusiast who wants a no frills programming language that is easy or useful to learn because its syntax is based on C. The base nucleus of Nadir comprises a number of modules that perform language parsing, language interpretation, error handling, and a set of inbuilt intrinsic functions for performing string, numeric and date maniplation, and the control of data files and the symbols in them. The nucleus is written in c, and has been ported to run under DOS and Windows. Other modules of intrinsic functions have been written to perform Screen Dialogues and Report Formatting. These functions have been written to perform under DOS in text mode and Windows. When an application is written using these functions, it will work under DOS and Windows without change. A runtime version of Nadir is provided with the commercial version. A system developed using the commercial version may be installed at a user site with the runtime version of Nadir. No royalty fees are required to install the runtime version at a user site. How to run the Demonstration ============================ The DOS version will run on any version above DOS 3.3 with around 300K of real memory available. Nadir will run under Windows version 3.0 and above. The following instructions assume that the Nadir shareware version has been installed on c: drive in a directory called nadir. Please note that the switch names and macro names, like -c, -D, -e and InvMenu are case sensitive and therefore must be keyed in exactly as shown in the examples. Under DOS ========= Either c:\nadir\demo Or change the default directory to where Nadir was installed, and key in the command to start the demo. c: cd \nadir n -c -eDemo The third line runs the n.exe program, specifying that on error the program should automatically restart (cycle), and that the macro called Demo should be executed. To run the sample Invoicing Program, specify -eInvMenu, and for the Phone List program, specify -ePhoneList. Under Windows ============= Either execute the following program. Do this by double clicking on windemo.exe in the File Manager, or by specifying the following when choosing File Run in Program Manager. c:\nadir\windemo Or create a new program item using the File, New options in the Program Manager. The command line should be c:\nadir\nw -c -eDemo -Dc:\nadir -Tc:\nadir This command specifies nw.exe which is the Windows version executable. The -D switch tells Nadir to look for data files in the c:\nadir directory, while -T specifies that temporary work files are created in c:\nadir. The alternative to specifying -D and -T in Windows 3.1 is to specify the working directory as c:\nadir. The DOS version of the program has been written to closely follow the operation of Windows dialogue boxes. Some Windows features are not present. The mouse is supported, if a mouse driver is loaded before running Nadir. The keyboard functions are the same as under Windows, eg to close a dialogue box, use F4. Differences between Shareware and Commercial Versions ===================================================== Differences have been built into the Shareware version of the product as an incentive to register the product. All of the functionality of the product is present in the Shareware version. Feature Shareware Commercial The number of times the Windows version of the 1 time 16 times program can be started simultaneously. The maximum size of a key, or symbol name. 64 bytes 128 bytes The permissible number of levels in the b-tree 3 levels 10 levels structure that is used to store symbol names and values. The number of levels in the b-tree affects the total number of symbols that can be stored in a data file. This limitation, together with the block size limitation of 512 bytes will allow moderate amounts of data to be stored in the symbol table files. In the Key File Utility, and functions that CANNOT CAN specify deal with creating and opening Symbol files, specify blkSize and the block size (size of b-tree node) and the blkSize and buffCnt. number of buffers may be defined. buffCnt. By specifying a larger block size, longer blkSize is string values can be stored. Specifying always 512 buffCnt allows the user to tune system bytes. performance. Ability to open Symbol Files simultaneously. CANNOT CAN share When files are opened shared, locking share files with conventions can be employed to manage access. other and manage file With the Shareware version, no file can be locking. shared. You can start one DOS session, or one Windows session, but not at the same time. With the Commercial version, you can start 16 tasks in a Windows session, and any number of DOS sessions in DOS boxes under Windows, all opening and sharing files. If the files are on a Network Server, files may be shared with other workstation users on the network. The ability to open Symbol Tables. The system CAN open 7 CAN open 7 has some fixed symbol tables. They are :- fixed fixed and symbol 16 user mdat - Macro definitions files. defined mlib - Macro library symbol univ - Universal data, permanent files. glob - Global data, temporary for an invokation of the program. parm - Parameter file, permanent. data - General purpose permanent data file. temp - General purpose temporary data file. With the Shareware version, only the fixed files can be opened. With the Commercial version, the fixed files as well as 16 user defined files can be opened. The size of the stack that is used to evaluate 2048 bytes. Defaults to expressions and hold fuction arguments is 4096 bytes, fixed in the Shareware Version. In the can be up Commercial version, a startup parameter allows to 64K. the user to override the default value. Specifying larger sizes allows functions to be more complex and manipulate more and larger values. The size of the stack that is used to store 2048 bytes. Defaults to the values of local variables in functions is 4096 bytes, fixed in the Shareware Version. In the can be up Commercial version, a startup parameter allows to 64K. the user to override the default value. The maximum length of a string field. 512 bytes. 2048 bytes. A reference manual describing the language and Text file Complete the intrinsic functions. of Language hardcopy Reference manual supplied. supplied. A runtime version of the system. This is for NOT Supplied. program developers that want to distribute supplied. copies of their programs. The runtime version is the same as the commercial version, except that functions and macros cannot be compiled. Support to provide program fixes. NOT Supplied. supplied. Welcome to Nadir dialogue box displayed before Supplied. NOT the first dialogue box for an application is supplied. shown. Description of Files ==================== readme.txt This file. An Introduction to Nadir file_id.diz Brief description of NADIR. order.frm Details on how to order the commercial version of Nadir. demo.exe Program to run the demonstration programs under DOS. Runs n.exe with some parameters. windemo.exe Program to run the demonstration programs under Windows. Runs nw.exe with some parameters. n.exe The DOS version of Nadir. nw.exe The Windows version of Nadir. nsys.dll stu.exe Symbol Table Utility Program. This DOS program is used to maintain and dump the contents of the symbol table files. comline.bat Batch files used by the sample application. They are compause.bat used in the DOS version to implement backup and restore procedures. dbrowser.bat The most basic (and base) text browse utility. There is a system parameter that allows the definition of a text browser for use by report printing. univ.dat Universal data file, that has sample data for the demonstration application. parm.dat Parameter data file. inv.dat Invoice data file contains a few example invoices. mdat.dat Macro Data file contains the compiled macro code, and any definitions necessary for the running of the sample application. The contents of this file can be regenerated with makeall.bat. makeall.bat A batch file which removes the existing mdat.dat file, and recompiles all the source code provided. demo.n The demonstration program. invmenu.n Invoicing Application Menu. inv.n Invoice Entry. client.n Client Maintenance. invp.n Invoice Printing. invr.n Invoice Reporting. invs.n Invoicing Summary Print. invpar.n Modify Invoicing system parameters. type.n Demonstration of the code generation capabilities of the language. Used to define description type tables with a code and a description. Is invoked to generate the code for Property Types and Valuation Types maintenance. phonel.n The Phone List program. A different example of how data can be presented and modified. bkup.n Backup and Restore to diskette. list.n General purpose listing program to list symbols in a symbol table. mtce.n General purpose maintenance that can be used to add, modify or delete any symbol in any symbol table. prt.n Modify definition of printers, the size of paper, and start and end escape sequences. scrattr.n Modifiy screen colours and characters for DOS version. This demonstrates the code generation capabilities of Nadir. detab.n Utility to replace tabs with spaces in a file. ute.n General purpose utility functions. load.n Symbol file unload and reload utilities. rand.n Random number generation. spar.n Modify system parameters. args.n Test and demonstration code as to how the arguments to a macro may be accessed. file.n Show how text files can be opened, read and written. multied.n Demonstrate multi line edit fields. process.n Demonstrate the Process intrinsic function. This function allows for code to be generated, compiled and run under program control. xtree.n Front end dialogue box to run a DOS application. Demonstation dialogue box with permanent data kept on a data file for next invokation. winput.n Test program for the Screen Dialogue objects such as text input fields, push buttons, radio buttons, check boxes, combo boxes, select boxes, menus and prompts.