ntech
Junior Member
Posts: 99
|
Post by ntech on Nov 27, 2018 18:08:45 GMT
[object Object]
|
|
ntech
Junior Member
Posts: 99
|
Post by ntech on Nov 27, 2018 18:13:02 GMT
[object Object]
|
|
ntech
Junior Member
Posts: 99
|
Post by ntech on Nov 27, 2018 18:15:09 GMT
Hmph. Sorry about the above posts, only the Quick Reply works for me. Anyway, I am making a JustBasic compiler. It will support ALL JustBasic commands, and may even make it a .NET language, with abilities to reference System Namespaces. Here's an overview: 1) JustBasic is translated into MSIL aka CLR. Here's a description of MSIL: www.codeguru.com/csharp/.net/net_general/il/article.php/c4635/MSIL-Tutorial.htm2) Ilasm.exe is harnessed to generate the PE executable. docs.microsoft.com/en-us/dotnet/framework/tools/ilasm-exe-il-assemblerI do not have much time to work on it, so I will rely upon your help to make this succeed. I will keep this updated with the most recent version of the compiler, which is 100% written in JustBasic. Currently, I am working on the PRINT statement.
|
|
ntech
Junior Member
Posts: 99
|
Post by ntech on Nov 27, 2018 20:41:10 GMT
Update: While the code is not good enough to release yet, it can compile this sample program:
print "boring";"more boring" + "most boring;*^" ; "blah blah blah"
It is intelligent enough to parse different strings. Currently, I am working on variables. A slight tweak: all variables will have to be declared in the source code.
To declare a variable, simply comment out "#define variableName string/number" on a new line anywhere in the code to be compiled.
Additional cool commands will be added through commented commands, commands which JB does not recognize but the compiler will add with cool functionalities.
I expect to have a fully functioning PRINT and variable parser built by tomorrow. Conditional logic and constructs will come next week. December will be a break, and in January-February, the compiler will recognize I/O operations as well as JB's GUI commands.
Finally, by April, the compiler will be fully ready to compile your JB code -- don't forget those declerations though!
After April, I plan to add .NET functionality at a slower pace.
When the code is released, it will be on the JB File Archives website -- jbfilesarchive.com
Cheers!
|
|
|
Post by tsh73 on Nov 28, 2018 8:35:27 GMT
Wish you all the luck. Post some code then it will be available
|
|
ntech
Junior Member
Posts: 99
|
Post by ntech on Dec 3, 2018 20:47:47 GMT
|
|
|
Post by tsh73 on Dec 4, 2018 8:08:34 GMT
Hello I run it - here's some feedback: Your "notes.txt" shows variables as '#define variableName$ but example bas uses #define variableName$ Then I added (') I got last two vaiables in "variables.txt" - without them it had four Also, function tab$(num) has an error. Otherwise it works. Not understanding assembly, cannot say more
|
|
ntech
Junior Member
Posts: 99
|
Post by ntech on Dec 4, 2018 17:51:01 GMT
Thanks for the feedback I overlooked that. By week's end, it should be able to harness the compiler to make a functioning EXE, and also work with the GOTO statement and labels.
|
|
ntech
Junior Member
Posts: 99
|
Post by ntech on Dec 7, 2018 1:14:43 GMT
|
|
ntech
Junior Member
Posts: 99
|
Post by ntech on Dec 7, 2018 1:15:02 GMT
Also note that it now compiles to an EXE file!
|
|
|
Post by carlgundel on Dec 7, 2018 17:27:28 GMT
Also note that it now compiles to an EXE file! Hi. I'm flattered that you want to create a Just BASIC compatible language. Are you shooting for a high level of compatibility, or is your compiler meant to support a merely similar dialect of BASIC? You seem to be aiming toward a BASIC for .Net which is not something I am planning to do. Liberty BASIC and Just BASIC are definitely going to be strongly cross platform going forward including Windows, Mac, x86 Linux, Raspberry Pi. I would like to ask politely though that you come up with a fun and imaginative name for it that does not include the words 'Just BASIC'. I consider this name to be my own IP and trade name, and people might be confused into thinking that your project is also really mine. That probably won't benefit either of us very much. -Carl Gundel, author of Liberty BASIC and Just BASIC
|
|
ntech
Junior Member
Posts: 99
|
Post by ntech on Dec 10, 2018 17:40:59 GMT
I'm sorry, if you want I can make it purely for JustBasic? My program I freely hand over to you, so it is now your IP, and I'll remove the copyrighted terms, if you want, as well as the .NET functionality.
I don't plan to sell it, or do anything with it other than for the benefit of others, it will be in the public domain, or handed over to you, if you like.
|
|
|
Post by Rod on Dec 10, 2018 18:44:58 GMT
The main point is that Just BASIC is copyright and owned by Carl. So you can't just start copying the syntax and create your own similarly named compiler. You are perfectly at liberty to write your own compiler and your own version of BASIC.
You are a little bit unlucky because we have had several folks in the past start "compilers" and run into the same problem.
While a compiler is of interest it is a tricky path to follow. You need to be sure Carl is onboard with the development path, you need to be sure it is focused on Just BASIC. What usually happens is that it quickly becomes a subset of Just BASIC or starts to grow alternative methods and syntax. At that point it becomes of less interest to our members here and needs to find its own support forum. That's usually when it gets difficult because the writer thinks the compiler is the main issue while we think that supporting plain vanilla Just BASIC is why this forum exists.
So don't give up just yet. Be aware you will need to call it something completely different. We are happy to see how you develop it but it needs to be completely focused on Just BASIC syntax and it needs to compliment Just BASIC. If it starts to hinder or diverge you can expect us to lose interest.
|
|
|
Post by carlgundel on Dec 10, 2018 21:16:33 GMT
I'm sorry, if you want I can make it purely for JustBasic? My program I freely hand over to you, so it is now your IP, and I'll remove the copyrighted terms, if you want, as well as the .NET functionality. I don't plan to sell it, or do anything with it other than for the benefit of others, it will be in the public domain, or handed over to you, if you like. Hi, I'm not looking for an apology, really. I think it's great you are writing a compiler, and that you like Just BASIC enough to create a compatible compiler. I encourage you to keep on developing it. The only thing I ask is that you give the compiler a unique name that so that people do not mistake it for the official Just BASIC software. Does that make sense? Rod is also right that at some point you will probably want to create a forum for it. Once it becomes interesting to enough people it will deserve its own space. -Carl
|
|