Zpas2js
Pascal to javascript
ZX Text (JavaScript)
Write program
Run javascript
(*-----------------------------------------+ | Test program for zpas2js | | Simplified 1980 pascal with type string | | (c) 2020 by ZarSoft | +-----------------------------------------*) PROGRAM hello ; { global constantes } const year = 2020; { global variables } VAR r : integer; { BOOLEAN + RECORD + procedure with no arguments} PROCEDURE welcome ; VAR ok : BOOLEAN; name :RECORD first : STRING ; last : STRING ; END ; BEGIN WRITELN ; WRITELN ( 'Ola'', "humano"!' ) ; WRITELN ( 'Hello, human!' ) ; WRITELN ( 'I was born on ' , year ); WRITELN ; WRITE ( 'What is your first name? ' ); READLN ( name.first ) ; IF name.first = '' THEN ok := FALSE ELSE ok := TRUE; IF NOT( ok ) THEN WRITELN( 'Hello, stranger!' ) ELSE BEGIN WRITELN ( 'Hello, ', name.first, '.' ); WRITELN( 'Nice to see you again!' ); END ; WRITELN; END ; { procedure with 2 arguments } PROCEDURE plus2 ( a,b : INTEGER ) ; BEGIN WRITELN( a,'+',b,'= ', a+b ); END; { function with 2 arguments } FUNCTION times2 ( a,b : INTEGER ):INTEGER ; BEGIN times2 := a*b; END; { ARRAY + FOR + procedure with 1 argument } PROCEDURE powers_of_two ( n : INTEGER ) ; VAR i , p :INTEGER; list : ARRAY [ 1 .. 20 ] of INTEGER ; BEGIN WRITELN( 'Powers of 2:' ); p := 1; FOR i := 1 TO n DO BEGIN p := p * 2; list[i] := p; WRITE( list[i], ' ' ) END; WRITELN END; (* REAL + function with no arguments *) FUNCTION calc_phi :REAL; VAR phi :REAL; BEGIN phi := (sqrt(5)-1)/2; calc_phi := phi END; BEGIN welcome; plus2(1,2); r := times2(3,4); WRITELN( '3*4= ', r ); WRITELN; powers_of_two (10); WRITELN; r := calc_phi; WRITELN( 'phi= ', r ); WRITELN; END.
Convert to javascript
Run javascript
(c) 2020 by ZarSoft
zarsoft(a)clix.pt
Zpas2js Ver 0.95
Demo programs:
Zpas2js demo
minimum program
hello
what is your name
add 2 numbers
teste de record
maximo e minimo
somatorio de lista em array
factorial in 5 ways
ordenar array
piada
hilow
ZX Text (JavaScript)