SyntaxBomb - Indie Coders

Languages & Coding => Others => Topic started by: Aurel on March 28, 2020, 11:31:14 AM

Title: micro(A) Interpreter
Post by: Aurel on March 28, 2020, 11:31:14 AM
more info on
https://aurelsoft.ucoz.com/
Title: Re: o2Basic - micro(A) Interpreter
Post by: round157 on March 28, 2020, 11:52:16 PM
more info on :
https://sites.google.com/site/aurelwwiz/aurelsoft

I am curious. A few questions about the interpreter. The name micro(A) is interesting. Is there any special meaning in micro(A)? Will this interpreter(micro(A)) use SDL(like SmallBASIC)? Is the strength of the interpreter in game development or application development? Thanks.



Title: Re: o2Basic - micro(A) Interpreter
Post by: MikeHart on March 29, 2020, 07:19:14 AM
Another basic interpreter from you? Or is it the one you started ages ago?
O2basic is the name of an already existing language, right?
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on March 29, 2020, 07:48:02 AM
Quote
Another basic interpreter from you? Or is it the one you started ages ago?
O2basic is the name of an already existing language, right?
Hi Mike
Yes it is another one from me , not old one (aurel basic).
softpedia link:
https://www.softpedia.com/get/Programming/Coding-languages-Compilers/Aurel-Basic.shtml
Title: micro(A) Interpreter
Post by: Aurel on March 29, 2020, 08:05:20 AM
Quote
I am curious. A few questions about the interpreter. The name micro(A) is interesting. Is there any special meaning in micro(A)? Will this interpreter(micro(A)) use SDL(like SmallBASIC)? Is the strength of the interpreter in game development or application development? Thanks.

Hi round157
No there is no special meaning with name.
No ,i will not have in plan to use SDL or any other external library just win api functions.
Hmm...i will add few graphic function that is sure but game development ..i don't think about that yet.
It is simply to early at the moment.
IF all goes well, i mean if speed of execution be high enough then i can think about adding sprite commmands
or similar for games..until then nothing.
( I already have finished sprite functions)
Title: Re: o2Basic - micro(A) Interpreter
Post by: round157 on March 29, 2020, 11:19:18 AM

No ,i will not have in plan to use SDL or any other external library

I remember a language called NaaLaa. The author wrote the graphic routines for software rendering.

Quote
Hmm...i will add few graphic function that is sure but game development ..i don't think about that yet.

A few graphic functions are enough. Allowing micro(A) users to make some little games can help the popularity of micro(A).

Quote
( I already have finished sprite functions)

Since micro(A) is the name of the interpreter and the language, I suggest that M should be used instead of m.

You are the developer of Micro(A). Add some information can promote. (You can look at the following picture.)
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on March 29, 2020, 02:49:04 PM
Developer is one thing and author is another.
And NO ,neme will stay micro(A) ,as micro mean small and for other things i will see.
Title: Re: o2Basic - micro(A) Interpreter
Post by: round157 on March 30, 2020, 08:38:48 AM
Developer is one thing and author is another.
And NO ,neme will stay micro(A) ,as micro mean small and for other things i will see.

I still have a question. Many BASIC dialects are with nice logos. Have you designed a logo for micro(A)?

QB64
(https://upload.wikimedia.org/wikipedia/commons/thumb/f/f5/QB64-1-4-logo-hd-transparency.svg/220px-QB64-1-4-logo-hd-transparency.svg.png)

SmallBASIC
(https://smallbasic.github.io/images/sb-desktop-128x128.png)

Just BASIC
(https://www.justbasic.com/justbasictitle.jpg)

AppGameKit Studio
(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSfHwacZ5FBjZg2I32j-PqIESa-mcJ5xE9NM4LA11za3ASsvO-t1w&s)
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on March 30, 2020, 04:56:44 PM
round157
Man ..it is really to early to think about that things, for example i just today fixed one stupid bug
in tokenizer, and tokenizer is just first part of interpreter.
At moment i am testing semantic analyzer which build variable table,subroutine stacks,,etc..etc
do you understand some of that stuff?
It is not just like that... ;)
Title: Re: o2Basic - micro(A) Interpreter
Post by: round157 on March 31, 2020, 08:04:32 AM

Man ..it is really to early to think about that things, for example i just today fixed one stupid bug
in tokenizer, and tokenizer is just first part of interpreter.
At moment i am testing semantic analyzer which build variable table,subroutine stacks,,etc..etc
do you understand some of that stuff?

Ha...interpreter looks complex. Thanks for your information.
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on March 31, 2020, 09:04:01 AM
Well ,,yes it is complex,,if you are interested how look
peek here: https://aurelsoft.ucoz.com/forum/4-23-1
,and because this time i want to build it in a different way than two previous.
And hey i add home page in my profile  :)
So anyone who is interested may look there , On that site there is also a blog and forum
and anyone can made account and post on forum.
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on March 31, 2020, 03:33:24 PM
round157
just that you can see how look one part wich check error in code like this:

varNum a,b,c,d
or maybe simplier to you:
float a,b,c,d

i need this:
Code: [Select]
Sub preScan() as int
'MsgBox "OK..." ,"Pre:SCAN"
int i , numOfTokens = nTokens ,lineNum=0 : nTokens=0 :varID=0     ' numofTokens as local/reset global nTokens
For i = 1 to numOfTokens

IF typList[i]=tkEOL:tokList[i]="EOL"::lineNum++:END IF  'check EndOfLine

IF typList[i] = tkIDENT
           If ucase(tokList[i]) = kwList[1]: typList[i] = tkFLOAT  'if varNUM ...........................
              if typList[i+1] <> tkIDENT 'check err
                 MsgBox "Missing variable after VARNUM! line: " + str(lineNum),"ERROR": return 0
else
              i=i+1 ' next token
               While typList[i] <> tkCOLON And typList[i] <> tkEOL  'store num variable
                  If typList[i] = tkIDENT : varID = varID + 1 : varList[i] = varID : varNum[varID] = 0
                     MsgBox "Variable name: " + tokList[i] ,"variable->Numeric"
                  End if
                i++
               Wend
     end if
          End if  ' endOf varNUM..........................................................................
         
END IF

Next i
return 1

End sub
Title: Re: o2Basic - micro(A) Interpreter
Post by: round157 on April 01, 2020, 12:05:01 AM
peek here: https://aurelsoft.ucoz.com/forum/4-23-1

Hi...I hope that micro(A) will be as successful as Cerberus-X.:) 

Quote
And hey i add home page in my profile  :)

Yes! Adding accurate information in your profile can let other members know the existence of micro(A).

Quote
just that you can see how look one part wich check error in code like this:

varNum a,b,c,d
or maybe simplier to you:
float a,b,c,d

Thanks for explaining. You are really good at interpreter(or language) development. :)
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on April 01, 2020, 07:53:17 PM
I try to be as good as I can    ;D ;D ;D
Title: Re: o2Basic - micro(A) Interpreter
Post by: round157 on April 02, 2020, 11:38:22 AM
I try to be as good as I can    ;D ;D ;D

If you don't have any idea of the logo, you can use this design. Yes, free of charge. I designed it today. (Of course you can modify the design if you need.)
Title: Re: o2Basic - micro(A) Interpreter
Post by: iWasAdam on April 02, 2020, 12:08:25 PM
Nice work.
I wrote a complete language for VJ work called 'Mangle'. This was the built in editor:
(http://www.visualjockey.com/gallery/mangle.jpg)
it checked and corrected syntax as you typed. It was sort of based on basic but with specific images and graphic commands for VJ's:
Code: [Select]
SYS-NOWELCOME
DEFINE INT temp 0, 360
DEFINE INT x 0, SYS_WIDTH
DEFINE INT y 0, SYS_HEIGHT
BEGIN
CLS
CONVERT VJO_INT0 TO x
CONVERT VJO_INT1 TO y
GETANGLE temp SYS_H_WIDTH, SYS_H_HEIGHT, x, y
LINE SYS_H_WIDTH, SYS_H_HEIGHT, x, y
PRINT "angle = %temp%"
END

There was only one command per line allowed so it made for much simpler syntax and tokenizing
variables were explicitly defined with a type, name and min/max values - using this means you could automatically check for out of bounds and convert from one range to another instantly

an example output would be:
(http://www.visualjockey.com/gallery/aa49.jpg)
Where the input was a single flower png with an alpha channel.
The flower was then drawn at different place with different scales giving the above result
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on April 02, 2020, 04:35:19 PM
WOW  ;)
That is really cool man !...and nice design iWasAdam .

for round157...yes i have one of them as Logo
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on April 02, 2020, 04:48:06 PM
I stil work on preprocessor..pass1
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on April 05, 2020, 11:27:28 AM
Just small info about micro(A) varTable construction:
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on April 09, 2020, 02:58:33 PM
I don't want to waste my free time with unstable new programming languages
(maybe when i become in a mood to test it... )
and i back to my own development( to create safe++ language interpreter).  ;D
So far method with varID work .
Title: Re: o2Basic - micro(A) Interpreter
Post by: round157 on April 10, 2020, 12:41:32 AM
So far......

Hello...I am always curious. What is the completion percentage of this project(the interpreter of micro(A))? Thanks.
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on April 10, 2020, 08:08:46 AM
Quote
Hello...I am always curious.
That is good...
It is still in a very early stage ...it is slow process.
(Testing error checking..etc)
Do you understand something of this?
Title: Re: o2Basic - micro(A) Interpreter
Post by: round157 on April 11, 2020, 09:18:03 AM

Do you understand something of this?

Oh...I don't.:)
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on April 11, 2020, 10:59:38 AM
Oh no..you can understand it if you look into code.
Is that hard for you to look into code ?
Do you any coding lately?
Title: Re: o2Basic - micro(A) Interpreter
Post by: round157 on April 15, 2020, 04:18:23 PM
Is that hard for you to look into code ?

I am not clever enough in understanding that code. 

Quote
Do you any coding lately?

The real life of everyone on Earth is seriously being influenced by this new coronavirus. For example, our jobs. Now many things are much more important than hobby programming.???
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on April 15, 2020, 04:46:39 PM
Unfortunatelly yes!
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on April 15, 2020, 08:11:30 PM
...and continued,tweaking expr evaluator to work with variables and window
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on April 17, 2020, 07:32:39 PM
In the same time when i working on interpreter i add things in help files...
Title: Re: o2Basic - micro(A) Interpreter
Post by: guest7581 on April 18, 2020, 11:51:27 AM
The most important question is - are you planning to finish this one? Or is it gonna be abandoned like AurelBasic and Ruben as soon as all the basics have been implemented and it's time to move to more complex things?
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on April 18, 2020, 03:11:23 PM
Quote
The most important question is - are you planning to finish this one? Or is it gonna be abandoned like AurelBasic and Ruben as soon as all the basics have been implemented and it's time to move to more complex things?

tomek
i don't know what you mean because my english is still bad ;D
or maybe i can answer like round157 answer me ...

The real life of everyone on Earth is seriously being influenced by this new coronavirus. For example, our jobs. Now many things are much more important than hobby programming

AurelBasic...oh that was a long time ago...Ruben,,is just a experiment...
well good thing is that o2 become far more better (with less bugs and quirks).

and it's time to move to more complex things? ....hmmm more complex things ,like what ?
Title: Re: o2Basic - micro(A) Interpreter
Post by: guest7581 on April 18, 2020, 03:38:52 PM
That was rather straightforward question. What is your plan for that interpreter? What are your goals?

The real life of everyone on Earth is seriously being influenced by this new coronavirus. For example, our jobs. Now many things are much more important than hobby programming

Well, that depends. Many people are stuck at home. From this perspective, it's a perfect time for hobby programming.

Title: Re: o2Basic - micro(A) Interpreter
Post by: round157 on April 18, 2020, 07:52:49 PM
- are you planning to finish this one?

Some forum members may want to know the ETA for the micro(A) interpreter.

Title: Re: o2Basic - micro(A) Interpreter
Post by: round157 on April 19, 2020, 03:00:14 AM
AurelBasic...oh that was a long time ago...Ruben,,

Hello..., a question. Will micro(A) be compatible with Raylib? Sorry...my English is poor. I mean, can both softwares work together in the future?
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on April 19, 2020, 02:22:01 PM
To answer on what i have in plan is :
1. publish source code of lexer on github
2. publish source code of pre-procesor & parser on github

And one thing that i don't want to publish in source code
will be runtime of interpreter.
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on May 11, 2020, 11:37:24 AM
After some testing i finally test string variable expression using recursive descent method.
very similar to numeric exxpression but just with operator "+"

test code: "varStr a,c : a=" + DQ +"_ aurel" + DQ + crlf + "c=a" + crlf 

and here is method in few functions:
Code: [Select]
' execute string expression---------------------------------------------
Sub exec_strExpr() as string
gettok()'start
string res
res = strExpr()
MsgBox "STR_RESULT=" + res , "EXEC_STR_EXPR:"
TextOn (win,30,60, res)
Return res
End sub

'----------------------------------------------------------------------
Sub strExpr() as string
string vs

if token <> "+"
vs = strFactor()
end if

while token = "+"
if token = "+": gettok() : vs = vs + strFactor(): end if
wend

return vs
End Sub

'---------------------------------------------------------------------
Sub strFactor() as string
string vs : int vID, vTyp

if tkTyp = tkIDENT
print "IDENT-STR:" + token
vID = varList[tc]  : vTyp = varType[vID] : print "token->"+ token +" var_ID:" + str(vID) + "_varType: " + str(vTyp)
IF vTyp = tkSTRING : vs = varStr[vID] : end if
 gettok()
end if

if tkTyp = tkQSTRING
print "STR-FACTOR:" + token
vs = token :  gettok()
end if

return vs
End Sub
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on May 11, 2020, 08:40:24 PM
code in editor should look like this:
varStr a,b,c : a="aurel"
b=" micro(A)"
c=a+b

Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on May 12, 2020, 10:22:12 AM
test numeric and string expressions:
              varStr a,b,c : varNum d,e,f
              d=625 : e=25.1 : f = d/e
              a= "aurel"
              b= " micro(A)"           
              c=a+b

Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on May 17, 2020, 11:31:59 AM
After error checking I am close to REPL execution .
Well this error checking use too much time but is important part.
When i say REPL..in fact it would be REP ..Read..Eval...Print
Loop will be next step..so for now,,it is ;

varStr a,b,c : varNum d,e,f
 d=625 : e=25.1 : f = d/e : print 10,10,f
 print 10,30,"numeric expr OK!"
 a= "aurel"
 b= " micro(A)"           
 c=a+b
print 10,50,"string expr OK!"

Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on May 17, 2020, 11:02:02 PM
REP test finished:

varStr a,b,c : varNum d,e,f
 d=625 : e=25.1 : f = d/e : print 10,10,f: print 50,10,"..numeric Expr"
 a= "aurel"
 b= " micro(A)"           
 c=a+b
print 10,30, c : print 150,30,"..string expr OK!"


Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on May 18, 2020, 07:25:44 AM
And here is how look in editor:
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on May 20, 2020, 11:14:46 PM
First test of REP with micro Editor:
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on June 02, 2020, 10:28:34 PM
testing IF statement:
Title: Re: o2Basic - micro(A) Interpreter
Post by: round157 on June 03, 2020, 01:40:41 AM
It's certainly fun to read your posts about the progress of the program.

Thanks for all the hard work.

Good work so far.



Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on June 03, 2020, 01:21:09 PM
thanks round157
It is not that hard than is slow..lot of things for error checking.
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on June 07, 2020, 03:34:20 PM
..and simple testing of IF_ELSE_ENDIF
in a cca 500 LinesOfCode..
 :)
Title: Re: o2Basic - micro(A) Interpreter
Post by: Steve Elliott on June 07, 2020, 11:51:00 PM
This seems like a cool project, good luck with it.
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on June 08, 2020, 11:57:35 AM
thanks Steve !
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on June 11, 2020, 11:05:26 PM
 here is a simple fibonacci series just 10 numbers with simple
goto/label loop
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on June 13, 2020, 07:04:45 PM
simple pixel plotting in microA
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on June 14, 2020, 03:06:47 PM
Hi
First graphic program in micro(A).
It is well known fern fractal, i made it after i tested rnd() function
in micro is rnd var without parentesis,i will ad it later.

Code: [Select]
'fern test
varnum x,y,r,n,x1,y1
x=0:y=0

label start

r = rnd 1

if r > 0
  if r < 0.01
     x = 0.0
     y = 0.16 * y
  endif
endif

if r > 0.01
   if r < 0.085
      x = 0.22 * x - 0.26 * y
      y = -0.23 * x + 0.22 * y + 1.6
   endif
endif

if r > 0.075
    if r < 0.15
       x = 0.15 * x + 0.28 * y
       y = -0.29 * x + 0.24 * y + 0.44
    endif
endif

x = 0.85 * x + 0.04 * y
y = -0.04 * x + 0.85 * y + 1.6

x1 = (x + 3.14) * 70
y1 = 760 - y * 70

pset x1,y1
n = n + 1

if n < 20000
  goto start
endif
print 300,10,"OK!"
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on June 16, 2020, 10:47:57 PM
Lorenz example :
Code: [Select]
'lorenz example in micro(A)
varnum x,y,z,count,xx,yy,zz,x1,y1
x=0 : y=40 : z=40 : count=0

label start

xx = x + 0.01 * (-10.0 * x + 10.0 * y)
yy = y + 0.01 * ( 28.0 * x - y - x * z)
zz = z + 0.01 * (-8.0  * z / 3.0  + x * y)
 

x1 = x*10+320
y1 = -(z)*10+500
pset x1,y1

x = xx
y = yy
z = zz
count = count + 1

if count < 10000
  goto start
endif
print 10,10,"OK!"
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on June 18, 2020, 10:29:32 PM
Fern fractal in micro(A)
12000 iteration in 1.7 sec ..not bad for hobby interpreter
Title: Re: o2Basic - micro(A) Interpreter
Post by: Aurel on June 27, 2020, 11:17:55 AM
First binary release of micro(A) Interpreter.
have fun!
Title: Re: micro(A) Interpreter
Post by: Aurel on July 13, 2020, 04:06:16 PM
full circle example by my bufy MGA originaly written in smallBasic
i translated to micro(A)
Code: [Select]
'full_circle by [B+=MGA]2017->micro(A) by aurel
'everything was supposed to be turning around another circle
varnum xc,yc,xx,yy,x,y,x3,y3,r,w,ww,w3,pi,i,j,k,ww,loop
xc=640/2 : yc=480/2 :pi=3.14: i=1 : j=1: k=1: loop=1
wcolor 0,0,0
while loop < 1200
  r = r + pi/180
  w = w + pi/72
   i=1 : j=1: k=1
  while i < 12
    x=xc+200*cos(w+i*pi/6)*sin(r)
    y=yc+200*sin(w+i*pi/6)*sin(r)
    fcolor 120,150,100 : circle x,y,40
    ww = ww + pi/80
     while j < 12
      xx=x+100*cos(ww + j*pi/6)*sin(r)
      yy=y+100*sin(ww + j*pi/6)*sin(r)
      fcolor 150,100,100 : circle xx,yy,20
      w3 = w3 + pi/80
       while k < 12
        x3=xx+50*cos(w3 + k*pi/6)*sin(r)
        y3=yy+50*sin(w3 + k*pi/6)*sin(r)
        fcolor 100,120,150 : circle x3,y3,10
        k = k + 1
      wend
    j = j + 1
    wend
    i = i + 1
  wend
'wcolor 0,0,0
'swap
  loop = loop + 1
wend
Title: Re: micro(A) Interpreter
Post by: Aurel on July 17, 2020, 04:26:00 PM
here is mandelbrot fractal in micro(A):
Code: [Select]
'mandelbrot_test - micro(A)
varnum px, py, i, sx, sy, xx, xy,cb
varnum vy, pyy , w , h , hh , x, y , max     
max=12 : w = 480 : h = 340 : hh = h/2
py=0 : px=0 : wcolor 0,0,0 : fcolor 200,150,100
while py < h
px=0
  while px < w
      sy = (py-170)/150
      sx = (px-340)/150
     
i = 0 : x = 0.1 : y =0.1
xy = x*x + y*y
while i < max & xy < 4.0     
        xx = x*x - y*y + sx
        y = 2 * x * y + sy
        x = xx : cb = 1+y
       fcolor x,y,cb
       pset px,py 
 i=i+1
wend     
    px = px + 2
  wend
print 500,60,py
py = py + 2
wend
Title: Re: micro(A) Interpreter
Post by: Aurel on July 17, 2020, 08:29:48 PM
effect example from specbas
Code: [Select]
'specBas effect in micro(A)-by Aurel
varnum a,b,x,y,u,v,t,w,n,r,px,py
varnum rr,gg,bb,i,j, cx,cy,cr
wcolor 0,0,0 
w=540 : n=200 : r = 6.28/254
t=0
while t < 100

wcolor 0,0,0
i=0
while i < n
j=0
       while j < n
u = sin(i+y) + sin(r*i+x)
v = cos(i+y) + cos(r*i+x)
x = u + t
y = v
rr= rand(254)
gg= rand(254)
bb= rand(254)
            px=u*n/2+w/2 : py=y*n/2+w/2
            fcolor rr,gg,bb
pset px,py 
         'circle px,py,5
      j=j+1
wend
i=i+1
swap
wend
t=t+10 : print 10,10,t
'wcolor 0,0,0
wend
Title: Re: o2Basic - micro(A) Interpreter
Post by: round157 on July 24, 2020, 10:07:50 AM
First binary release of micro(A) Interpreter.
have fun!

I tried the file microedit.exe today. Each .BAS file was not run properly and a grey window was displayed each time. (on Win XP and Win 7 computers.)

8 persons downloaded microA.zip before I downloaded microA.zip. Only I report. ???
Title: Re: micro(A) Interpreter
Post by: Aurel on July 24, 2020, 07:54:23 PM
Hello round157
I don't know how you get that it work on my win7 machine and probably should work on XP too.
In attachment is latest version with while/wend with logic operator with symbol "&" as and and with
symbol "|" as or.
In fact it is easy ..look on given image ,
your unpacked folder should look like this one ...
so run microEdit.exe , when is up click first toolbar button to open one of examples as i do.
then click Run...button with gear-image..and that is .
Title: Re: micro(A) Interpreter
Post by: round157 on July 26, 2020, 09:31:59 AM
Hello

This version is better than the previous version. Window showed result for each running. However, three dialog boxes appeared before window showed result.

Is this normal or not?
Title: Re: micro(A) Interpreter
Post by: Aurel on July 26, 2020, 10:30:28 PM
Yes it is normal because it is still in experimental stage ..
For example try use undefined variable and you will see...
of course i can remove it .
In fact this info should be part of let say simple debugger or something.
I am glad that work  :)
Title: Re: micro(A) Interpreter
Post by: round157 on July 27, 2020, 02:40:54 AM
Yes it is normal because it is still in experimental stage ..
For example try use undefined variable and you will see...
of course i can remove it .
In fact this info should be part of let say simple debugger or something.
I am glad that work  :)

OKay. Good! I expect that micro(A) will be as good as CerberusX, SmallBASIC or BlitzMax ng.
Title: Re: micro(A) Interpreter
Post by: Aurel on July 27, 2020, 03:29:02 PM
Ahh..long way to that..
I am not even sure do i want that or better to say do i have time for all that things..
it is too early...
Title: Re: micro(A) Interpreter
Post by: Aurel on July 29, 2020, 02:53:34 PM
Here is a example of sierpinski carpet by MGA B+ from ssmall Basic
in micro(A):
Code: [Select]
'Sier Carpet v3.bas SmallBASIC 0.12.2 [B+=MGA] 2016-02-13
varnum sq,s,st,start,lc,r,g,b,x,y,rx,ry,w,h
sq=480 : s=2 :st=s+2 :start=1 :lc=0
wcolor 0,0,0

label doloop
'rx=1 : ry=1
x=1  : rx=x+s
   while x < sq
     y=1 :  ry=y+s
      while y < sq
       r=0:g=lc+128:b=0: fcolor r,g,b
      ' pset x,y
      rect x,y,rx,ry
      y=y+st*1
     wend
    ' swap
     x=x+st*1
 print 10,10,x
  wend

  s=2+st
  st=s*2
  lc=lc+1
rx=x : ry=y

if st < sq
 goto doloop
endif
Title: Re: micro(A) Interpreter
Post by: Aurel on August 12, 2020, 09:27:57 PM
Bug fixed in string expressions..
compiled version in attachment...
Title: Re: micro(A) Interpreter
Post by: Aurel on August 12, 2020, 10:24:25 PM
small changes in window font
Title: Re: micro(A) Interpreter
Post by: bplus on August 13, 2020, 05:53:11 PM
Here is a example of sierpinski carpet by MGA B+ from ssmall Basic
in micro(A):
Code: [Select]
'Sier Carpet v3.bas SmallBASIC 0.12.2 [B+=MGA] 2016-02-13
varnum sq,s,st,start,lc,r,g,b,x,y,rx,ry,w,h
sq=480 : s=2 :st=s+2 :start=1 :lc=0
wcolor 0,0,0

label doloop
'rx=1 : ry=1
x=1  : rx=x+s
   while x < sq
     y=1 :  ry=y+s
      while y < sq
       r=0:g=lc+128:b=0: fcolor r,g,b
      ' pset x,y
      rect x,y,rx,ry
      y=y+st*1
     wend
    ' swap
     x=x+st*1
 print 10,10,x
  wend

  s=2+st
  st=s*2
  lc=lc+1
rx=x : ry=y

if st < sq
 goto doloop
endif


For the record here is what my SmallBASIC version looks like:
Code: [Select]
'Sier Carpet v3.bas SmallBASIC 0.12.2 [B+=MGA] 2016-02-13

sq=512
s=2
stepper=2*s
start=1
lc=0
label doloop
  for x=start to sq step stepper
    for y=start to sq step stepper
      rect x,y,x+s,y+s,rgb(0,lc*15+128,0) filled
    next
  next
  start=start+s
  s=2*s
  stepper=2*stepper
  lc=lc+1
if stepper<=sq then goto doloop
pause 'for snapshot


So Aurel might mention he has modified my code beyond recognition or just left off the title label at top as it really no longer applies.
Title: Re: micro(A) Interpreter
Post by: Aurel on August 13, 2020, 08:58:23 PM
I modify your code because if you don't see I don't have for/loop in microA..
also if i replace it with while loop and i get different result ...
it would be great if you have version with while loop in smallBasic or qb64

..or maybe i cannot because i see now that your rectangle is filled type and mine is not?
any suggestion mister MGA ????
Title: Re: micro(A) Interpreter
Post by: bplus on August 13, 2020, 09:14:12 PM
I modify your code because if you don't see I don't have for/loop in microA..
also if i replace it with while loop and i get different result ...
it would be great if you have version with while loop in smallBasic or qb64

..or maybe i cannot because i see now that your rectangle is filled type and mine is not?
any suggestion mister MGA ????

Just use a bunch of lines to fill in the box.

Heck I could fill a box with my 100 line interpreter and it had just one graphics command Ray(x, y, angle, distance). ;-))



Title: Re: micro(A) Interpreter
Post by: Aurel on August 14, 2020, 10:06:08 AM
Quote
Heck I could fill a box with my 100 line interpreter and it had just one graphics command Ray(x, y, angle, distance). ;-))

it is not problem in filling box with lines..which use time for nothing then in internal structure of my interpreter
which is not build to be graphic show only interpreter..but i can add FloodFill()
Title: Re: micro(A) Interpreter
Post by: Aurel on August 14, 2020, 09:39:08 PM
and another one called spiral

Title: Re: micro(A) Interpreter
Post by: round157 on August 14, 2020, 11:19:20 PM
The Worklogs sub-forum may be more suitable for this thread. It may get other people's attention more easily there. 
Title: Re: micro(A) Interpreter
Post by: Aurel on August 16, 2020, 09:06:22 AM
there is no need for that..
interpreter is very experimental and far away from completnes.
it is good for simple computation,small graphic examples etc... 
Title: Re: micro(A) Interpreter
Post by: Aurel on August 16, 2020, 07:06:53 PM
Here is finally version of AurelEdit which we can use with micro(A) Interpreter

(https://aurelsoft.ucoz.com/AurelEdit_microA.png)
Title: Re: micro(A) Interpreter
Post by: round157 on September 03, 2020, 10:07:06 AM
Here is finally version of AurelEdit which we can use with micro(A) Interpreter



May I ask a question? I have a version of your editor for SmallBASIC. I have a version of your editor for Oxygen Basic as well. Can you make a version of your editor for this language? Thanks first.
http://naalaa.com/

Title: Re: micro(A) Interpreter
Post by: Aurel on September 03, 2020, 07:52:01 PM
Yes ..it already exists and is published on Naalaa forum
but is under topics and is not easy to fiind it ...here is a link
it is older version but as other people says there it work ok with naalaa
http://aurelcode.info8-hosting.info/Upload/attachment.php?aid=4
Title: Re: micro(A) Interpreter
Post by: round157 on September 04, 2020, 08:16:18 AM
Yes ..

That's good. Thanks again.

Title: Re: micro(A) Interpreter
Post by: Aurel on September 27, 2020, 06:37:15 PM

here is a simple Syntax Highlighting in RichEdit control using awinh037.inc

it is small code editor with line numbers which i use in micro(A) Interpreter.
Title: Re: micro(A) Interpreter
Post by: Aurel on September 30, 2020, 09:20:48 PM
And added RED keywords var,str,ptr
Title: Re: micro(A) Interpreter
Post by: round157 on October 08, 2020, 08:18:59 AM
And added RED keywords var,str,ptr

I discovered the introductions of many BASIC languages on Softpedia recently.
https://www.syntaxbomb.com/index.php/topic,8115.0.html

Finally, I discovered the introduction of this one:
https://www.softpedia.com/get/Programming/Coding-languages-Compilers/Aurel-Basic.shtml

When I clicked "visit homepage", I saw the URL:
http://aurelbasicsoft.ucoz.com/

I guessed that this language was made by you.

Some statistics:

15,337 downloads. User ratngs: 3.9/5 (44 voters)

This language is popular and successful!  :)

The review written by the Softpedia's reviewer:

"The tool does not put a strain on computer performance, since it runs on low CPU and RAM. It has a good response time to commands and works well, without hanging, crashing or popping up error messages. "

"....it offers a simple and effective solution to learning the BASIC programming language."

Excellent!
Title: Re: micro(A) Interpreter
Post by: Aurel on October 09, 2020, 08:40:59 PM
oh yes
that was a long time ago, i doubt that anyone this days use AurelBasic
Title: Re: micro(A) Interpreter
Post by: Aurel on October 12, 2020, 10:54:53 PM
just testing functions...subroutines:

Quote
'func test 1
var a
str b
myfn()

func myfn()
   print 10,10,"func_test1"
endfn
Title: Re: micro(A) Interpreter
Post by: round157 on October 17, 2020, 04:48:58 AM
....

Hello, I have a question about Softpedia.com again:

{ https://www.syntaxbomb.com/index.php/topic,8115.msg347045998.html#msg347045998 }

The statistics:

B4J: 4.6/5 (5 votes)

PureBasic 4.5/5 (142 votes)

FreeBasic 4.3/5 (41 votes)

ThinBasic 4.1/5 (33 votes)

QB64 3.9/5 (74 votes)

Aurel Basic 3.9/5 (44 votes)

DarkBASIC Professional 3.9/5 (10 votes)

Blitz3D 3.9/5 (4 votes)

Just BASIC 3.8/5 (11 votes)

BASIC-256 3.5/5 (21 votes)

IWBasic 3.4/5 (14 votes)

Basic4android 3.3/5 (37 votes)

Xojo 3/5 (48 votes)

Liberty BASIC 3/5 (11 votes)

BBC BASIC 2.4/5 (7 votes)


A little idea, actually, Aurel Basic is more popular than several quite famous BASIC languages. Developing a new version of Aurel Basic may be a better choice? Will be easier to have a lot of followers? Is this correct? Rather than developing a new language(micro(A))? I am only curious.
Title: Re: micro(A) Interpreter
Post by: Aurel on October 17, 2020, 09:54:09 PM
I can build new version of AurelBasic but then must should be very different that old one
simply because tomes are changed, concept of micro(A) is different even look like basic.
Title: Re: micro(A) Interpreter
Post by: round157 on October 19, 2020, 03:40:27 PM
I can build new version of AurelBasic but then must should be very different that old one
simply because tomes are changed, concept of micro(A) is different even look like basic.

OKay. I see. Aurel Basic's users will be so pleased if a new version of Aurel Basic is released.

The following URL actually doesn't work. If a new official website is set up, Aurel Basic's users will be surprised and excited.
http://aurelbasicsoft.ucoz.com/

I believe that a standard URL(www.aurelbasicsoft.com) can promote Aurel Basic. An awesome logo should also be created for Aurel Basic.

Obviously, a large Aurel Basic user base will finallly benefit the popularity of micro(A).
Title: Re: micro(A) Interpreter
Post by: Aurel on October 25, 2020, 08:45:43 AM
Well...user base..i doubt that there is a large user base for AurelBasic that was a long time ago
times are changed  :(
Title: Re: micro(A) Interpreter
Post by: round157 on October 28, 2020, 03:48:07 PM
Well...user base..i doubt that there is a large user base for AurelBasic that was a long time ago
times are changed  :(

Yes, but micro(A) started from zero. AurelBasic still has a lot of potential to continue to succeed. AurelBasic is a well-known brand. If I were you, I would abandon the development of micro(A). (Moreover, made AurelBasic better or perfect to compete with FreeBasic, PureBasic and ThinBasic.)
Title: Re: micro(A) Interpreter
Post by: Aurel on October 29, 2020, 10:01:55 PM
well micro(A) in current state is a 5 times faster than old AurelBasic, which like many other simlar
basic-like or dialects are no longer any kind of brand. Just Name is not enough today....
i don't but fact is that many much better dialects are not popular anymore...
original basic programers are not interested any most of them move to something else.
As i said already i can add all GUI parts you may found in AurelBasic into micro(A) without lot of
troubles any maybe i will but currently i have no any kind of big plans.
I even can ask or you may post a pull about in general interest in basic-like programming.   
Title: Re: micro(A) Interpreter
Post by: round157 on November 02, 2020, 03:41:45 PM
well micro(A) in current state is a 5 times faster than old AurelBasic, which like many other simlar
basic-like or dialects are no longer any kind of brand.

5 times? micro(A) is powerful!

Quote
fact is that many much better dialects are not popular anymore...

QB64's forum and FreeBASIC's forum look very active!

Quote
currently i have no any kind of big plans.

SmallBASIC will have a Raylib module. Raylib module may be quite useful. May you also make a Raylib module for micro(A)?
Title: Re: micro(A) Interpreter
Post by: Aurel on November 02, 2020, 05:29:58 PM
Ahh
yes only QB64 forum is active , FreeBasic is let say active but not very much with just old lurkers.

Yes i see announcement for SmallBasic raylib...but it is still just for linux, and probably as you know there
is not much SmallBasic users left.
I simply don't have in plan to add any external library to micro(A) ,it is windows only ,i currently use GDI
for graphics in which i can even add possibility for sprites...so i really don't see a reason to complicate with libs
for such a small hobby programming language.
Title: Re: micro(A) Interpreter
Post by: round157 on November 06, 2020, 11:01:22 AM
, and probably as you know there is not much SmallBasic users left.

Oh. Are you sure? May most users of the SmallBasic community are silent users?

Quote
yes only QB64 forum is active ,

Perhaps we need to look into the statistics again:

B4J: 4.6/5 (5 votes)
PureBasic 4.5/5 (142 votes)
FreeBasic 4.3/5 (41 votes)
ThinBasic 4.1/5 (33 votes)
QB64 3.9/5 (74 votes)
Aurel Basic 3.9/5 (44 votes)
DarkBASIC Professional 3.9/5 (10 votes)
Blitz3D 3.9/5 (4 votes)
Just BASIC 3.8/5 (11 votes)
BASIC-256 3.5/5 (21 votes)
IWBasic 3.4/5 (14 votes)
Basic4android 3.3/5 (37 votes)
Xojo 3/5 (48 votes)
Liberty BASIC 3/5 (11 votes)
BBC BASIC 2.4/5 (7 votes)

If we sort the above data according to the numbers of the votes, the top six langauges become:

PureBasic 4.5/5 (142 votes)
QB64 3.9/5 (74 votes)
Xojo 3/5 (48 votes)
Aurel Basic 3.9/5 (44 votes)
FreeBasic 4.3/5 (41 votes)
Basic4android 3.3/5 (37 votes)

We may imagine that the above dialects(exclude Aurel Basic) have bigger user bases than the remaing dialects of the list.
In fact, the following dialects' forums are also active. The following dialects look so successful.

PureBasic ( https://www.purebasic.fr/english/ )
Xojo ( https://forum.xojo.com/ )
Basic4android ( https://www.b4x.com/android/forum/ )
Title: Re: micro(A) Interpreter
Post by: Aurel on November 06, 2020, 01:54:05 PM
That Softpedia statistic is not relevant or real at all
if is true then i will receive one email in a one year at least
but i don't receive any email about AurelBasic in past 3 years...
so that is how is it...

yes PureBasic is most popular dialect ..even is not BASIC in real sense
Freebasic forum is let say active ...
QB64 is the most active forum /dialect right now ..i am not sure 
Title: Re: micro(A) Interpreter
Post by: round157 on November 12, 2020, 08:46:34 AM
That Softpedia statistic is not relevant or real at all
if is true then i will receive one email in a one year at least
but i don't receive any email about AurelBasic in past 3 years...

If the address of the official website(http://aurelbasicsoft.ucoz.com/) doesn't work and the latest version of AurelBasic was released in 2014, no email from them last three years is normal and reasonable. Those people simply thought that AurelBasic had been abandoned by its author. Those people simply used other free alternatives(QB64, FreeBasic, etc.)

The 44 votes might be given to AurelBasic from 2014-2015?

Quote
yes PureBasic is most popular dialect ..even is not BASIC in real sense
Freebasic forum is let say active ...
QB64 is the most active forum /dialect right now ..i am not sure

In conculsion, several BASIC dialects are successful.
Title: Re: micro(A) Interpreter
Post by: Aurel on November 12, 2020, 04:06:20 PM
It is nice to have interest but this is not conclusion because this topic is about
microA not AurelBasic,and in general talking about past is useless.
Title: Re: micro(A) Interpreter
Post by: round157 on November 19, 2020, 03:18:13 AM
It is nice to have interest but this is not conclusion because this topic is about
microA not AurelBasic,and in general talking about past is useless.

Ha...okay. But our discussion about BASIC is still
interesting. The discussion may inspire you to make
micro(A) perfect since the experiences of other successful
BASIC dialects may be helpful to micro(A)!

Actually, rapid development of some language freewares always amazes me. An example:
https://www.syntaxbomb.com/index.php/topic,8171.0.html
Title: Re: micro(A) Interpreter
Post by: Aurel on November 21, 2020, 02:37:58 PM
Ahh Cerberus
by my old friend Mike ..all 5
but that one or similar is not type of languages i like or i use

Just to let you know ...
I doing some mumbo-jumbo with primitive graphics to see is there a way for making
really simple games in micro(A)..so i will let you know .
all best.. ;)
SimplePortal 2.3.6 © 2008-2014, SimplePortal