Jump to content

Build your own programming language!


Recommended Posts

Right now, this is only a concept, to see if it's worth doing it.

The idea is: build a script to build a programming language, with a predefined syntax, but with a configurable list of commands. Please tell if you'd like/want/don't want it.

EDIT: I posted it here because, if it's worth making it, I will post it in this thread.

Edited by GiulioM
Link to comment
Share on other sites

With a predefined syntax but custom commands sounds like AutoIt with either a preprocessor or just #includes. Far more interesting with customizable syntax:

There are quite a lot of tools already like this. Do a bit of reading on BNF as that is the most common syntax. Tools like Yacc and Lex (and their variants) are the most used tools. One of my favourites is a lexer generator called Ragel, I've used it quite a lot in the passed.

In any case the best advice is to do some reading on the theory. I got the dragon book (Compilers: Principles, Techniques and Tools) which is a very definitive reference, that also covers the tools listed above in addition to most of the common algorithms. After that do some more research, as compiler construction (and so compiler compiler construction) is a huge topic. There are lots of really clever variations on the common algorithms like Top Down Operator Precedence Parsers.

Link to comment
Share on other sites

  • Moderators


I am moving this to "Developer Chat" as there is no AutoIt example code as yet. Good luck! :)


Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:


ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area


Link to comment
Share on other sites

I wrote Runner. It's a hotkey macro program. Build your own macro with thousands of commands using close to 50 macro command types. Use constant or variable data, read and write to file. React to picture or mathematical comparison, programs running, move mouse, send keys, play file, talk. It's a scripting language written with a scripting language or it's a can of whoop ass with a can of whoop ass inside. I didn't know how to do it until I found AutoIt a few years back.

So my macro is a programming language, no I'm serious it's pretty nice.

Posted Image

I could make a macro that makes a notepad window, send a line of Cake Sheep goto Heaven lyrics file, then narrate the line with Microsoft Sam. Increment the variable line of file to read. Repeat from send line until end of lyric file. I could do it in less then 20 macro commands without calling other macros as functions. Maybe switch narrators every line or two. Not going to clutter this post with a video, plus I never finished the macro. Developers know there isn't enough time.

I forgot Runner is free to forum members joining before 2012. An interested person runs the software and tells me the user_id returned by songersoft. I can then return a key that only runs on your system. Runner is also inexpensive at $9.99+0.7 sales tax ($10.70 or something), Paypal IPN handles that key generation same thing but scripted.

Edited by Xandy
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Create New...