Pantalk
From Wikipedia, the free encyclopedia
Pantalk is a cross-platform programming language developed in the early 1980s by Cojyp (HyperPanel Lab) for use on embedded environments. Pantalk takes much less development time compared to Java, so it is being used.
Pantalk is an interpreted language in which structured code written as plain text (*.isb files) and then precompiled into *.isc files. These *.isc files can be compiled into bytecode (p-code, or *.isu files). It features the usual complement of control structures, operators, variable types and statements that you expect from any compiled or interpreted language, and it also has features of its own. For example the variables declaration, the memory allocation, the management of the graphics and widgets.
Pantalk manages single scalar variables up to multidimensional arrays. The available types are: Integer, Real, Alpha, Alphanu, Date, Time, Text, Memory. These variable are written in *.clb files and then precompiled into *.cla files. These *.cla files can be compiled into bytecode (p-code, or *.clu files).
A Pantalk script does not have any header or script name and does not require the Return or End statement at the end of a procedure. Every statements must end with a semi colon. There are two types of script, the panel script(also called dependent script) and the independent script.
Panel script: a panel is a group of graphical objects named widgets. Each graphical object is also called a widget because it can trigger one or several scripts. When a widget invokes a script, the script must be a panel script. A panel script can invoke any types of script, panel or independent. Such a script is named Panel script and is stored in a library of panel scripts only.
Independent script: an independent script can be invoked by any other scripts and by a module boot sequence. An independent script cannot invoke a panel script. When calling a script, the script path must be specified. The path specifies the script location ( which module and script library it pertains to).
/* set courier font for a target */ fontname := "helvetica"; /* 1 corresponds to Courier */ /* 10 is the size */ XSet_Font ( winId, 1,10 ); XGet_Font_Size ( winId, 100,150, fwidth, fheight, fbaseline ); XDraw_String ( winId, 60, 80, "Hello World" ); XSet_Show_String ( 4, 5, fontname, 10 ); /* display a string in the middle */ /* of the upper part of the screen */ XShow_String ( 200, 10, "Hello again world" );