Calling REXX from COBOL using REXX SAA API using Cygwin in Windows

Submitted by Dickens A S on Fri, 09/04/2020 - 12:44

Embed inside COBOL code

Inline REXX code as string in COBOL code can be passed to REXX SAA API via C Code

rexxsaa.h is a c Library offers API to invoke REXX from C.

REXX is almost like COBOL it is very useful code to be used as macro in MVS system.

Below code explains how to do it.

Smart Lexer

Submitted by Dickens A S on Sat, 08/29/2020 - 10:31

This is a small application/library initiative to use Lexical analysis to transform source codes to one format to another format

Example Use Case (SQL)

I have chosen SQL to transform from SQL server function to PLSL function

CHARINDEX('t', 'Customer')
INSTR('Customer', 't')

In case if the function name only needs to be replaced, then it is easy

But, here the parameter 1 becomes 2 and 2 becomes 1

Template Methodology

Currently experimenting with a complicated JSON structure like a database

gnuCOBOL HTML output using Apache CGI

Submitted by Dickens A S on Mon, 08/24/2020 - 03:06

Run COBOL using Apache Server

COBOL compiled to an EXE in windows can be placed in Apache cgi-bin folder or any other folder where ExecCGI is enabled

Enable CGI module in Apache

LoadModule cgi_module modules/mod_cgi.so

Write COBOL code "gnucobolcgi.cob"

Run COBOL / gnuCOBOL using Cygwin/MSYS2 in Windows

Submitted by Dickens A S on Sun, 08/23/2020 - 11:00
Run COBOL in windows

Why COBOL in 2022?

The reason is, many migration still happening from mainframe COBOL to Java or .NET

If the developer knows how test the COBOL in his local machine, then it benefits the migration to speed up

This article demonstrates the Cygwin dependencies to compile gnuCOBOL from source code

Install Cygwin with below list of dependencies

Running REXX using Cygwin in windows

Submitted by Dickens A S on Sun, 08/23/2020 - 06:24
Run REXX in windows

This article explains, how to compile and install REXX in MSYS2 with GCC compiler installation

Step 1: Install Cygwin 

Additionally install regina-rexx which shipped with cygwin

Cygwin rexx

Step 2: Check GCC version

Kotlin JVM Easy JNI using SWIG and Gradle CPP

Submitted by Dickens A S on Sat, 08/22/2020 - 15:34

This article demonstrates easy way of generating C++ stub code including Java Generation for the corresponding C++ Classes using SWIG

The Gradle KTS project contains a sub module which contains the main source code, the header file and the SWIG file

The Gradle KTS is written in such way it will call the "swig" command line and generates the wrappers and copies the files to corresponding locations

The C++ compiler is auto chosen by Gradle cpp-library plugin, there is no need to write CMake or MakeFile or batch files for that

Kolin Multiplatform Targets NodeJS

Submitted by Dickens A S on Sat, 08/08/2020 - 12:13

Code written in kotlin will get transformed to JavaScript NPM module which can be executed directly from Node.JS

Simple Kotlin code

fun main() {
   println ("hello")
   test1()
}

The test1 function code

fun test1() {
   println ("hello test1")
}

The package.json which is manually created at root folder of the project

STM32f429i LED using XPM and yotta and QEMU

Submitted by Dickens A S on Sat, 08/08/2020 - 11:03

This article explains how to run STM32 embedded board in an emulator on windows

Step 1: Install Nodejs

Install Nodejs

Step 2: Check Nodejs in command prompt

C:\>node --version
v12.16.2

Step 3: Install XMP

C:\>npm install -g xpm

Step 4: Check XPM 

C:\>xpm --version
0.6.4

Step 5: Install Python 2.7

Install Python 2.7

Kotlin Web Assembly WebGL Auto Stub

Submitted by Dickens A S on Sat, 05/02/2020 - 05:37

WebGL is a big API, it has 200+ properties and 100+ methods, writing a JavaScript stub and corresponding Kotlin stub is very difficult 

We need to write 1400+ lines of JavaScript code and 3000+ lines Kotlin code

This Kotlin gradle script provides a simple approach to auto generate the stub and also compile the generated code to .klib

Gradle Stub Code in KTS

Kotlin Web Assembly direct buffer access with UTF-16 string

Submitted by Dickens A S on Fri, 05/01/2020 - 06:07

Kotlin WebAssembly runtime provides a global JavaScript array called heap

which can be accessed if the pointer of a variable is known

The pointer and size of the variable can be determined by library methods stringPointer and stringLengthBytes

The from JavaScript the value can be updated with below logic

Kotlin Main Code