Scripting Language development
Moderator: Coders of Rage
-
- Chaos Rift Junior
- Posts: 204
- Joined: Mon Nov 21, 2011 3:01 pm
- Current Project: Web browser from scratch
- Favorite Gaming Platforms: SNES, PSP, PS1 and 3
- Programming Language of Choice: C#
- Location: A house near me
- Contact:
Re: Scripting Language development
Episode 2 is going to be epic!, It will include the new functions (loading external libs, clr support) as well as an introduction into the nitty gritty source code for the interpreter!.
If possible, could you tell me what sort of things you would wish to see of the interpreter especially.
Filming for Episode will start sometime this month.
If possible, could you tell me what sort of things you would wish to see of the interpreter especially.
Filming for Episode will start sometime this month.
- bbguimaraes
- Chaos Rift Junior
- Posts: 294
- Joined: Wed Apr 11, 2012 4:34 pm
- Programming Language of Choice: c++
- Location: Brazil
- Contact:
Re: Scripting Language development
I was going to post that I watched it and it's really good, but I forgot... Then I was going to post that the one thing I missed was the implementation (though we got a sneak when you forgot the array argumenttappatekie wrote:Episode 2 is going to be epic!, It will include the new functions (loading external libs, clr support) as well as an introduction into the nitty gritty source code for the interpreter!.
If possible, could you tell me what sort of things you would wish to see of the interpreter especially.
Filming for Episode will start sometime this month.
![Wink ;)](./images/smilies/icon_wink.gif)
If I can make a suggestion, I would really like to know the high-level architecture of your implementation, and some more sneaks at specific points.
Keep up!
-
- Chaos Rift Junior
- Posts: 204
- Joined: Mon Nov 21, 2011 3:01 pm
- Current Project: Web browser from scratch
- Favorite Gaming Platforms: SNES, PSP, PS1 and 3
- Programming Language of Choice: C#
- Location: A house near me
- Contact:
Re: Scripting Language development
Next video WILL definitely include the explanation of some interpreter source code (basic interpretation components) as well as showing off (with source) the LargeInt value type (A integer of ANY value!).bbguimaraes wrote:I was going to post that I watched it and it's really good, but I forgot... Then I was going to post that the one thing I missed was the implementation (though we got a sneak when you forgot the array argument).
If I can make a suggestion, I would really like to know the high-level architecture of your implementation, and some more sneaks at specific points.
Keep up!
The video for episode 2 would probably be in multiple parts, it would be structured like:
Part 1: Interpreter source code and core components
Part 2: Plywood method (redo because it was out of sync on ep1), dll import and common language runtime support (+ more
![Wink ;)](./images/smilies/icon_wink.gif)
Part 3: Interpreter API features
However doing it like this, would mean filming it this month, and uploading it the next..., also these parts would be around 20 minutes long per part, but I plan to have them available at the same time.
Btw (@bbguimaraes), I don't fully understand what you mean by "implementation", do you mean, the actual interpreter code to execute Plywood script?
- bbguimaraes
- Chaos Rift Junior
- Posts: 294
- Joined: Wed Apr 11, 2012 4:34 pm
- Programming Language of Choice: c++
- Location: Brazil
- Contact:
Re: Scripting Language development
That's exactly your part 1. Looking forward.
-
- Chaos Rift Junior
- Posts: 204
- Joined: Mon Nov 21, 2011 3:01 pm
- Current Project: Web browser from scratch
- Favorite Gaming Platforms: SNES, PSP, PS1 and 3
- Programming Language of Choice: C#
- Location: A house near me
- Contact:
Re: Scripting Language development
Can't wait to film it :Pbbguimaraes wrote:That's exactly your part 1. Looking forward.
-
- Chaos Rift Junior
- Posts: 204
- Joined: Mon Nov 21, 2011 3:01 pm
- Current Project: Web browser from scratch
- Favorite Gaming Platforms: SNES, PSP, PS1 and 3
- Programming Language of Choice: C#
- Location: A house near me
- Contact:
Re: Scripting Language development
Updated my initial post again, the language will now be multi-platform thanks to Mono (however it is not a guarantee since I haven't probably taken everything into account)
-
- Chaos Rift Junior
- Posts: 204
- Joined: Mon Nov 21, 2011 3:01 pm
- Current Project: Web browser from scratch
- Favorite Gaming Platforms: SNES, PSP, PS1 and 3
- Programming Language of Choice: C#
- Location: A house near me
- Contact:
Re: Scripting Language development
From exe help post, I have seriously under estimated the amount of work the compilation will take to actually convert the code to C# then compile that.
Reason is, that EVERY plywood function (all 370 and counting) would need a c# equivalent of that function (e.g printl would be "Console.WriteLine...")
Atm, I have a C# Code builder class which can be used like
I believe, this way would make everything more cleaner when converting it to c# as everything I need is in that class to actually generate it.
The constructor of CodeBuilder automatically sets it's self up for a basic console application (having static class and static void Main in it) but can be cleared to enter your own classes etc...
Reason is, that EVERY plywood function (all 370 and counting) would need a c# equivalent of that function (e.g printl would be "Console.WriteLine...")
Atm, I have a C# Code builder class which can be used like
Code: Select all
Plywood.Compiler.CodeBuilder code = new Plywood.Compiler.CodeBuilder();
code.AddNamespaceInclude("System");
code.AddNetFrameworkAssembly("mscorlib");
code.EntryPoint.AddLine("Console.WriteLine(\"Hello Word!!\");");
code.EntryPoint.AddLine("while(true);");
code.Compile("test.exe");
The constructor of CodeBuilder automatically sets it's self up for a basic console application (having static class and static void Main in it) but can be cleared to enter your own classes etc...
-
- Chaos Rift Junior
- Posts: 204
- Joined: Mon Nov 21, 2011 3:01 pm
- Current Project: Web browser from scratch
- Favorite Gaming Platforms: SNES, PSP, PS1 and 3
- Programming Language of Choice: C#
- Location: A house near me
- Contact:
Re: Scripting Language development
]Hey, I have'nt made a post for a while. This,
When I say listen, I basically mean to grab input from that terminal window but I may write output to all that are created if I wanted to.
And yes, that is me running Plywood code within Plywood code
, and the cursor fades in and out :D
Within the interpreter I have made the following adjustments to terminal functions to allow me to print and read from multiple windows at once.
I have create a interface called ITerminal which has:
MessageSent is invoked for EVERY type of terminal function, whether it's setting fore color, to setting cursor position, that function is called. The main interpreter has an array of these which automatically knows what message's go to what terminals.
All that window you see does, is just perform necessary operations for you to see this as a user interface in a form window. (I also have a ITerminal for the default Windows Command Prompt (thingy...)
is what I have been working on for the past few hours, it's a command prompt system which is fully integrated into Plywood, it allows you to create multiple "terminal" windows of which your plywood code can "listen" to any of them.When I say listen, I basically mean to grab input from that terminal window but I may write output to all that are created if I wanted to.
And yes, that is me running Plywood code within Plywood code
![Wink ;)](./images/smilies/icon_wink.gif)
Within the interpreter I have made the following adjustments to terminal functions to allow me to print and read from multiple windows at once.
I have create a interface called ITerminal which has:
Code: Select all
object MessageSent(RunState state, TerminalMessageType type, object arg, bool set);
bool Enabled { get; set; }
All that window you see does, is just perform necessary operations for you to see this as a user interface in a form window. (I also have a ITerminal for the default Windows Command Prompt (thingy...)
Last edited by tappatekie on Mon May 14, 2012 5:12 pm, edited 3 times in total.
-
- Chaos Rift Junior
- Posts: 204
- Joined: Mon Nov 21, 2011 3:01 pm
- Current Project: Web browser from scratch
- Favorite Gaming Platforms: SNES, PSP, PS1 and 3
- Programming Language of Choice: C#
- Location: A house near me
- Contact:
Re: Scripting Language development
Anyone got any idea's on the console? (What stuff to add...)
- bbguimaraes
- Chaos Rift Junior
- Posts: 294
- Joined: Wed Apr 11, 2012 4:34 pm
- Programming Language of Choice: c++
- Location: Brazil
- Contact:
-
- Chaos Rift Junior
- Posts: 204
- Joined: Mon Nov 21, 2011 3:01 pm
- Current Project: Web browser from scratch
- Favorite Gaming Platforms: SNES, PSP, PS1 and 3
- Programming Language of Choice: C#
- Location: A house near me
- Contact:
Re: Scripting Language development
Lol no... (I'm trying to keep it "low window component based...")bbguimaraes wrote:Auto completion?
-
- Chaos Rift Junior
- Posts: 204
- Joined: Mon Nov 21, 2011 3:01 pm
- Current Project: Web browser from scratch
- Favorite Gaming Platforms: SNES, PSP, PS1 and 3
- Programming Language of Choice: C#
- Location: A house near me
- Contact:
Re: Scripting Language development
Something I knocked up with Plywood script demonstrating the use of multiple terminals!.
Also a quick question, do you guys like the slight gradient on the text? (if you noticed..)
Also a quick question, do you guys like the slight gradient on the text? (if you noticed..)
- thejahooli
- Chaos Rift Junior
- Posts: 265
- Joined: Fri Feb 20, 2009 7:45 pm
- Location: London, England
Re: Scripting Language development
I love the gradient. I didn't notice it at first, but that's why I like it. It's different enough to be interesting but not noticeable enough to be distracting.
I'll make your software hardware.
-
- Chaos Rift Junior
- Posts: 204
- Joined: Mon Nov 21, 2011 3:01 pm
- Current Project: Web browser from scratch
- Favorite Gaming Platforms: SNES, PSP, PS1 and 3
- Programming Language of Choice: C#
- Location: A house near me
- Contact:
Re: Scripting Language development
Thanks, I never realized that :L, I just made it look a bit fancy by having a gradient text just to see what it would like, and now i'l keep it :Dthejahooli wrote:I love the gradient. I didn't notice it at first, but that's why I like it. It's different enough to be interesting but not noticeable enough to be distracting.
-
- Chaos Rift Junior
- Posts: 204
- Joined: Mon Nov 21, 2011 3:01 pm
- Current Project: Web browser from scratch
- Favorite Gaming Platforms: SNES, PSP, PS1 and 3
- Programming Language of Choice: C#
- Location: A house near me
- Contact:
Re: Scripting Language development
How about this? (A gradient in the background :D)
- Attachments
-
- grad.png (33.22 KiB) Viewed 3569 times