"Old programmers never die, they just Branch to a new address."


What is HiLMAs ?

Hilmas is a programming language; and not an high level or user friendly language, a Windows programming language or a database or web server language.

It is a mainframe language; yes, a programming language for old IBM mainframes that run old Operating System like MVS, VM or VSE; is a language that run on a 370/390 environment, on machines that today only a big company or organization owns.

Hilmas is not a 4th generation language, is only a procedural language, and not so self explaining like BASIC or REXX, or so well structured as PASCAL; it not obey at any known standard: is a new language born to satisfy my professional needs of a System Programmer in mainframe environment.

His goal is to be flexible as C language or more, without to be bounded by run-time libraries of any kind; it is quite easy to be learned in short time and simple enough to do programs quickly (and, if you want, dirty).

What kind of language is HiLMAs ?

Hilmas is for "High Level Macro Assembler" and is not a traditional language in strict terms: it has not a compiler, it needs only the traditional 370 Assembler, available in every mainframe installation.
But you don't need to know assembler language, you have to know only Hilmas instructions to do programs that run in every mainframe environment like CICS or VM/CMS or MVS/TSO if you want to write an interactive program. You can write a Hilmas program that run as a traditional MVS or VSE batch executable or write a Hilmas subroutine callable by a COBOL, PL/I, Assembler or REXX programs; you in a Hilmas program can interact with CICS environment in EXEC command level, or use DL/1 database in EXEC or CALL level; you can run a DB/2 query or read and return variables from a REXX script.

The trick is that every Hilmas instruction is really a call to a macro written in assembler; so you think to write in a new language but you write in realty a program in Assembler/370. You don't need any knowledge in assembler to write a program that do any thing that a "normal" program can do; but if you know Assembler, you can intermix anyway Hilmas instructions with native assembler code.

An example.

Introducing a new language, a classical example is "Hello World" program, i.e. a program that write the message "Hello Word" on the user terminal.

/INCLUDE HILMAS MAC
* This program is a first example
 PROGRAM HELLO,CMS
  SAY 'Hello World!'
 ENDPROG
/INCLUDE HILMAS VAR 

Note that every program must have as first instruction "/INCLUDE HILMAS MAC": this is not a Hilmas instruction but an environment dependent directive; the task is to enclose in the program deck, before assembling, the definitions of the Macros that constitute the Hilmas language itself.
The comments start with a star "*" in column one, the other Hilmas instructions start from column two forward.
The first Hilmas instruction must be "PROGRAM": it carries the name of the program and the name of the Operating system: this example will be assembled and run in VM/CMS interactive environment.
The program ends with instruction "ENDPROG" and directive "/INCLUDE HILMAS VAR"; if the program have some variables, these must be defined after this directive, i.e. the definition of variables are at the end of the program and not at the start as Pascal or C.
After assembling and linking the program in HELLO MODULE, launching HELLO in your CMS session, you see the message "Hello World!" on your screen.

Interested ?

I'm very glad to explain you more details in these pages:


 

Thanks for your attention. - Piero Ronchi, Oct 1999, last update June 2003

 


This dinos Ring site is owned by a bunch of dinos.

Want to join the dinos Ring ?

[Skip Prev] [Prev] [Next] [Skip Next]
[Random] [Next 5] [List Sites]
Free counter and web stats