The Daily Click ::. Forums ::. Klik Coding Help ::. Making a programming language?
 

Post Reply  Post Oekaki 
 

Posted By Message

NovaSoft{Dynecys}



Registered
  08/03/2004
Points
  105
6th April, 2004 at 18:18:32 -

Hey all,
Well, it's something I've wanted to do for quite a while (ever since discovering QBasic in 2000), but something I've never managed to do... Shen's 'Anime smiley coding' app type thing has made me want to develop my own language.
I already have alot of ideas for commands (the standard PRINT, INPUT etc.) Plus a few more I'd like to implement.
The problem is, where do I start? Can someone please give me an example of how to get specific data from an edit box?

For example...

User types...

PRINT "hello"

Then clicks button, I want to scan the edit box for the command PRINT, then get the text enclosed in "" and then display it, minus the PRINT in a new box.

Please... Help!

Danke!

 
Viddy A ClockWork Orange, Droogs...

Goddamn you to hell 'Newbie' DC Rating... Go up, UP DAMN YOU!

Cybermaze



Registered
  03/04/2003
Points
  853
6th April, 2004 at 18:59:37 -

Making a programming language (a compiler) is not really something click products are good at ... they are simply not created to do so ... it should however be possible ... how? Be creative ...

Making your own seudo programming language is possible though ... allthough it works best if you make your compiler in a real programming language like QBasic, Pascal, Java, C, C++ or what ever you choose to use ...

 
If you knew, I would have to kill you...

Kris

Possibly Insane

Registered
  17/05/2002
Points
  2017
6th April, 2004 at 19:34:53 -

You could tokenise your string. First into seperate lines then into seperate words. Pick the first word, compare it to your list then use the words that follow it to get the input.

That's really about as far as you can get with MMF in terms of lexico...

 
"Say you're hanging from a huge cliff at the top of mt. everest and a guy comes along and says he'll save you, and proceeds to throw religious pamphlets at you while simultaniously giving a sermon." - Dustin G

Assault Andy

Administrator
I make other people create vaporware

Registered
  29/07/2002
Points
  5686

Game of the Week WinnerVIP Member360 OwnerGOTM JUNE - 2009 - WINNER!GOTM FEB - 2010 - WINNER!	I donated an open source project
7th April, 2004 at 06:53:48 -

Tig's has some very useful script examples and parsing examples at his website:
www.tigerworks.co.uk

 
Creator of Faerie Solitaire:
http://www.create-games.com/download.asp?id=7792
Also creator of ZDay20 and Dungeon Dash.
http://www.Jigxor.com
http://twitter.com/JigxorAndy

Shen

Possibly Insane

Registered
  14/05/2002
Points
  3497
7th April, 2004 at 08:09:39 -

I'd go the stupid crappy BASIC way and put each command on a separate line Tokenise it with Chr$(15) then just go through it, letter by letter. For example, first word calls a function, second, third, fourth etc. are its parameters.

I might have a go myself later

 
gone fishin'

Crystal Clear (H.E.S)

Possibly Insane

Registered
  06/10/2002
Points
  2548
7th April, 2004 at 08:32:38 -

I might have a go at one made in MMF, thatd be a bit of a challenge.

 
HES homepage:
http://www.distinctiv-efair.com/heretic/studios
Crystal Clear Productions: http://www.distinctiv-efair.com/heretic/crystalclear

Deleted User
7th April, 2004 at 09:58:52 -

Use C++ if you want to do programming. But you have to be good at mathematics and similar stuff.

 

NovaSoft{Dynecys}



Registered
  08/03/2004
Points
  105
7th April, 2004 at 10:20:50 -

Thanks for the advice guys, I'm gonna try the tokenizing method, if I'd known about that extension I wouldn't have even posted this request

I'm currently experimenting with the following:

POS OBJECT1 x10 y10
SPEED OBJECT1 10
DIR OBJECT1 E (east)

placing an object at a user defined position, moving it at a user defined speed in a user defined direction, all through text driven commands

.: Nova :.

 
Viddy A ClockWork Orange, Droogs...

Goddamn you to hell 'Newbie' DC Rating... Go up, UP DAMN YOU!

Cazra

Crazy?

Registered
  24/07/2002
Points
  4472

Game of the Week WinnerVIP Member
7th April, 2004 at 17:25:15 -

I'm also making a programming language. It's made up entirely of puctuation and I dubbed it "MuteGibe".

It's halfway done and works!
Right now, I'm making it so it can do graphics.

I've already made it be able to:
-Use nearly infinite variables
-change values of a variable
-display variables as text
-use loops
-use "if" statements
-play 3 beep sounds
-erase the text
-check if a key is held on the keyboard(enter and arrow keys only)

 
n/a

Retired Kliker Lazarus

The Ed Wood JR of TDC

Registered
  18/07/2003
Points
  7363
7th April, 2004 at 17:59:36 -

Well, first off, I don't think you can make a programming languge with MMF. Try C++! It rocks! Although I haven't mastered making a programming languge, I've been able to make a small computer program (it was a data base, it works well ) and I've made a few 3-D games. Start with something simple, like a caculator or something, then work your way up to making a languge. Good luck.

 
Fine Garbage since 2003.
CURRENT PROJECT:
-Paying off a massive amount of debt in college loans.
-Working in television.

NovaSoft{Dynecys}



Registered
  08/03/2004
Points
  105
7th April, 2004 at 18:06:08 -

@ Snerlin - that sounds really cool, I hope you're gonna release it to us klikkers to play around with when you're done! *And PM me your 'source' code lol, jk

@ Easer - I used some basic C++ for about half a year when I bought the genesis 3d development kit, I just couldn't really get the hang of it though! But I agree when you say it rocks, I had alot of fun making little pointless apps (VC++ 6.0)

But yeah, that's good advice, I think I should be learning the basics of working with MMF extensions before trying to make a language, though to be honest I didn't think it was very complicated, but I do tend to underestimate things alot

 
Viddy A ClockWork Orange, Droogs...

Goddamn you to hell 'Newbie' DC Rating... Go up, UP DAMN YOU!

Kris

Possibly Insane

Registered
  17/05/2002
Points
  2017
7th April, 2004 at 18:14:57 -

Is there such as thing as 'nearly infinite'?

I made a little something along these lines if anyone fancies a look X)

http://kris.acsv.net/Tokeniser.zip

This might go onto being a new language, might not... depends on how long until I get bored of it, I guess.

PS. no stealing! :|
If you want to use it, ask me

Image Edited by the Author.

 
"Say you're hanging from a huge cliff at the top of mt. everest and a guy comes along and says he'll save you, and proceeds to throw religious pamphlets at you while simultaniously giving a sermon." - Dustin G

Dogzer



Registered
  07/02/2011
Points
  1029
7th April, 2004 at 18:27:32 -

er.. no offence, but whatever´s going on here should STOP. No one is making a new coding language, there are too many already. In any case code an EDITOR, a tile editor.. or an isometric editor.. that would be easier than starting from scratch. C++ was made in C. Are you going to make C+=2 or something? hope you are good at c++ coding. Oh, and respect to the isometric editor.. dont do that either cuz its also too hard for y´all bitches, try making a square oldschool tile editor. Thanks everyone, i'm back to the deadend jamagic coding.

 
n/a

Pete Nattress

Cheesy Bits img src/uploads/sccheesegif

Registered
  23/09/2002
Points
  4811
7th April, 2004 at 18:45:56 -

"er.. no offence, but whatever´s going on here should STOP. No one is making a new coding language, there are too many already"

brilliant dogzer. there are too many platform games out there already, if someone asks for help with one of those do you tell them to stop?

 
www.thenatflap.co.uk

Kris

Possibly Insane

Registered
  17/05/2002
Points
  2017
7th April, 2004 at 18:56:00 -

get back to your drawing, jose :/

 
"Say you're hanging from a huge cliff at the top of mt. everest and a guy comes along and says he'll save you, and proceeds to throw religious pamphlets at you while simultaniously giving a sermon." - Dustin G

NovaSoft{Dynecys}



Registered
  08/03/2004
Points
  105
7th April, 2004 at 18:58:22 -

Hey, this isn't supposed to be a new coding language with the depth and complexity of something like C++!

What I'm aiming for is a basic language I could implement into my RPG map editor to define events.

Kinda like the RPG Toolkit uses...

OBJECT "player" HIT OBJECT "chest" MAKE OBJECT "key" AT x100,y50

Well, ok that's a pretty rough example, but you get the idea (don't you?)

 
Viddy A ClockWork Orange, Droogs...

Goddamn you to hell 'Newbie' DC Rating... Go up, UP DAMN YOU!

Kramy



Registered
  08/06/2002
Points
  1888
7th April, 2004 at 20:18:05 -

In MMF making your own scripting language will be hard. In jamagic it's a lot easier, since you can link keywords to functions to create objects(whereas in MMF you need to define an event for EVERY object you create...)

 
Kramy

NovaSoft{Dynecys}



Registered
  08/03/2004
Points
  105
7th April, 2004 at 20:21:14 -

I'm starting to grasp just how complicated this could end up becoming...
Oh well, the rpg maker will just have to use 'detector' tiles to send objects in certain directions rather than the coolness of letting the user code that sort of thing.

 
Viddy A ClockWork Orange, Droogs...

Goddamn you to hell 'Newbie' DC Rating... Go up, UP DAMN YOU!

Weston L



Registered
  16/12/2002
Points
  1603
7th April, 2004 at 22:38:37 -

"Is there such as thing as 'nearly infinite'?"

I thought about that too. I was thinking the only way would be, say, if any computer could hold as much variables as it had HD space, so the more HD space, the more variables could be used. Theoretically, an infinitely large HD could hold an infinite amount of variables, but, in reality that wouldn't exist. Thats how it could possibly be "nearly infinite".

 
n/a

Crystal Clear (H.E.S)

Possibly Insane

Registered
  06/10/2002
Points
  2548
8th April, 2004 at 02:27:17 -

After i finish off a little engine im tweaking ill give it a shot in MMF.

 
HES homepage:
http://www.distinctiv-efair.com/heretic/studios
Crystal Clear Productions: http://www.distinctiv-efair.com/heretic/crystalclear

Cazra

Crazy?

Registered
  24/07/2002
Points
  4472

Game of the Week WinnerVIP Member
8th April, 2004 at 06:16:58 -

"Nearly infinite"= a lot <> infinite

 
n/a

Cazra

Crazy?

Registered
  24/07/2002
Points
  4472

Game of the Week WinnerVIP Member
9th April, 2004 at 21:46:51 -

MuteGibe is finished!

Shameless self-promotion: http://www.create-games.com/download.asp?id=4247

If you need help programming with it, see the help file for all the commands it has with a bunch of tutorials/examples to go with it.

 
n/a

:JULI@N:



Registered
  14/07/2002
Points
  641
9th April, 2004 at 22:40:12 -

i can see a programming language trend coming

Image Edited by the Author.

 
n/a

Tigerworks

Klik Legend

Registered
  15/01/2002
Points
  3882
10th April, 2004 at 08:18:43 -

I wrote CFISI, which is a Jamagic style scripting language in an extension for MMF. It was written in C++, and is primarily based on one of the advanced features of C++: inheritence. You will need to do this if you are serious about making a programming language. However, by all means you can still do it in TGF/MMF as a learning experience. In C++ it is really complicated though, and you'll be using classes, inheritence, abstract syntax trees, and plenty of pointers.
For a Click-made scripting language you can check out this:
http://www.clickteam.com/CTforum/showflat.php3?Cat=&Board=fac&Number=131757&page=&view=&sb=&o=&vc=1
It's pretty primitive but shows how to do all the parsing.
Scripting languages in Click products have several disadvantages: firstly, people have to learn your special new language to use it, unless it is based on or similar to another language, e.g. CFISI is based on Jama/C so programmers in either can pick it up relatively quickly. Also it's slow (unless in an extension like FISI) - the above example in TGF will be hard work for your computerif constantly running a script at the same time as the game.

 
- Tigerworks
   

Post Reply



 



Advertisement

Worth A Click