Recent Posts

Pages: [1] 2 3 ... 10
1
Interpreters / Re: JAIL
« Last post by John on July 14, 2018, 11:39:00 AM »
Outstanding!

The make worked fine on my Ubuntu 64 bit laptop.

I would of never have imagined creating an interpreter in NaaLaa but I've learned to not to underestimate your creative energy.
2
Interpreters / JAIL
« Last post by Marcus on July 14, 2018, 07:55:29 AM »
I guess this is not basic related, but this is the only fun forum there is for these kind of things so ... :)

I made a quick experiment with writing an interpreter for a new language in naalaa a while ago (http://www.naalaa.com/community/showthread.php?tid=68). This resultet in a language that was way more "powerful" than naalaa itself. So I decided to rewrite it in C, and this is the result so far. At a first glance it may look like Lua but with C-like syntax, but ... it's not.

I'm not quite sure where I'm heading with this, but I've attached the sourcecode, you can build it with the makefile (on Linux). Sorry again about this not really being basic related.

There are some example programs included. Here's one about functions:

Code: [Select]
/*
 * File: functions.txt
 * -------------------
 */

/* Functions are assigned to variables using function. */
helloWorld = function() {
    wln("Hello world!");
};

/* Call helloWorld. */
helloWorld();

/* Create a new function that takes two parameters and returns their sum. */
sum = function(a, b) {
    return a + b;
};
wln(tostring(sum(3, 7)));


/* When calling a function, two reference variables are always created: this
   and self. self can be used for object-based design and is explained in
   another example. this is a reference to the function variable itself. */
countDown = function(n) {
    wln(tostring(n));
    if (n > 1) {
        sleep(1000);
        /* Make a recursive call through this. Actually we couldn't call
           countDown for this purpose here, because functions can't normally
           access variables from the main program. */
        this(n - 1);
    }
};
countDown(5);

/* If the function variable has sub-variables you can access those through
   this. */
name.first = "John";
name.last = "Doe";
name = function() {
    return this.first + " " + this.last;
};
wln(name());


One of the weirdest things with the language, compared to Lua and Javascript, is that a variable can have an intrinsic value and sub-variables at the same time. You can see that in the last part of the code above. The variable 'name' has two sub-variables (first and last), while its intrinsic value is a function that returns the two sub-variables combined.

I called the language prolan earlier, but now it's JAIL (just another interpreted language). I like stupid names.
3
VB (5/6/CE) Classic / Re: VB6: rotating LEM
« Last post by eoredson on July 13, 2018, 08:21:55 PM »
Thanks,

the reason for the red/blue display is because its an "anaglyph" image where the screen pops out in 3-d when wearing the
correct lenses which have a left red and a right blue.

Erik.
4
VB (5/6/CE) Classic / Re: VB6: rotating LEM
« Last post by John on July 13, 2018, 01:48:49 PM »
Nice job!
5
Toolbox / The Set Of More Windows Utilities For QB64
« Last post by eoredson on July 10, 2018, 10:05:06 PM »
Find attached the set of more QB64 utilities for windows:

Code: [Select]
More public domain QB64 utilities v9.0a r3.0a packing list:

Source files:

  More Windows Utilities:

   ASCII.BAS     --  Ascii chart display
   COPYIT.BAS    --  File copy utility
   DECRYPT.BAS   --  Decrypts and changes attributes
   DELDIR.BAS    --  Directory delete utility
   DELETE.BAS    --  File delete utility
   DIRATTR.BAS   --  File/directory attribute display utility
   DRIVES.BAS    --  Drive display utility
   DRIVEX.BAS    --  Volume list utility
   ENCRYPT.BAS   --  Encrypts and changes attributes
   FILECOMP.BAS  --  Compares byte values of two files
   FREEDISK.BAS  --  Display total/free diskspace
   HEXCALC.BAS   --  Hexidecimal/Decimal calculator
   HEXLIST.BAS   --  Hex chart display
   LISTVOLS.BAS  --  Volume display utility
   MAKDIR.BAS    --  Directory make utility
   NAMEIT.BAS    --  File rename utility
   NEWDIR.BAS    --  Directory change utility
   RDSERIAL.BAS  --  Volume serial display utility
   RDSYSTEM.BAS  --  Volume system type display utility
   RDVOLUME.BAS  --  Volume label display utility
   RENVOL.BAS    --  Volume rename utility
   SETATTR.BAS   --  File/directory attribute change utility
   SERIAL.BAS    --  Creates a serial number from date/time
   STREE.BAS     --  Recursive directory list utility
   TOUCH.BAS     --  File update utility
   TOUCHDIR.BAS  --  Directory update utility
   TREEDEL.BAS   --  Directory delete utility
   TYPEY.BAS     --  File content display utility
   WHATIS.BAS    --  Expression parser
   WHEREIS.BAS   --  File search utility
   XCOUNT.BAS    --  Directory/file count utility
   XDIR.BAS      --  File sort/display utility
   XTREE.BAS     --  Directory sort/display utility
   ZSORT.BAS     --  File sort utility

  Misc. QB64 Utilities:

   CPU.ZIP       --  CPU usage monitor
     CPU.H         --  'C' header
     CPU.BAS       --  Usage source
   MEM.ZIP       --  Memory usage monitor
     MEM.H         --  'C' header 
     MEM.BAS       --  Usage source

These programs and source are hereby placed into the public domain 2018.

-end-
6
VB (5/6/CE) Classic / VB6: rotating LEM
« Last post by eoredson on July 10, 2018, 09:51:24 PM »
Attached is a 3-d rotating LEM module:
7
VB (5/6/CE) Classic / Re: VB6: rotating sphere
« Last post by eoredson on July 10, 2018, 08:49:26 PM »
Thanks,

This "sphere" is a 3d-perspective integral based on a graphics image engine developed during work with an engineer I know.

It has a way to freeze the sphere and drag/drop all the buttons too.

Erik.
8
VB (5/6/CE) Classic / Re: VB6: rotating sphere
« Last post by John on July 10, 2018, 12:05:53 AM »
Welcome to the forum and thanks for the cool code you posted!

Attached is your Shere9 program running under Wine.
9
VB (5/6/CE) Classic / VB6: rotating sphere
« Last post by eoredson on July 09, 2018, 10:30:19 PM »
Attached is a rotating sphere in VB6:
10
Toolbox / The Hex Editor for QB64
« Last post by eoredson on July 09, 2018, 10:17:56 PM »
Attached is the Hex Editor..

The Hex Editor is a multi-file binary editor which allows for fast
  editing of bytes in a file represented in hexidecimal. This editor
  also supports unlimited copy/paste/undos, markers, and keyboard/mouse
  hilighting. Hex edit also contains a file menu input box for scrolling
  through files/directories/drives. Hex Edit also has an IDE interface
  with drop down menus and netpath parsing.
Pages: [1] 2 3 ... 10