Sign in to follow this  
Followers 0
GiulioM

Build your own programming language!

8 posts in this topic

#1 ·  Posted (edited)

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

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

GiulioM,

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

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

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

 

Share this post


Link to post
Share on other sites

#6 ·  Posted (edited)

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
1 person likes this

I am not a lawyer.  (-_-) Xandy About  (^o^) Discord - Xandy Programmer

Share this post


Link to post
Share on other sites

I must say that looks very impressive Xandy. Although I need to absorb it a little. The website also looks good. You've obviously put a lot of work into this. Thanks for sharing it. :)

Share this post


Link to post
Share on other sites

I couldn't have done it without AutoIt, spaghetti, or the sun.

Thank you for developing AutoIt.

1 person likes this

I am not a lawyer.  (-_-) Xandy About  (^o^) Discord - Xandy Programmer

Share this post


Link to post
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
Sign in to follow this  
Followers 0

  • Similar Content

    • nacerbaaziz
      By nacerbaaziz
      Hi dear
      I have a question
      about the display language of the system
      How can I get the current display language and how can I change it by autoit
      Of course, if this is possible
      Greetings to all and hope you help me
    • nacerbaaziz
      By nacerbaaziz
      Hi friends, I have a question, please.
      I have created a window containing a edit box
      I need to know how to change the keyboard language,
      e.g :
      if a user open the  script  it will be change the keyBord language   in window automatically into English
      I found more examples but didn't work with me .
      Note:  
       I use the windows 10 os
      Please help me .
      thanks in advance to all
      with my Greetings and my appreciation for all users and admins
    • GreenSparks
      By GreenSparks
      Hi!
      I post here because i was wonderring if someone in this forum could help me with my script.
      What i'm trying to do, is to basically install a new keyboard layout in Windows and activate it. I want to acheive by the registry or the command line, but not with the autoit automation tools, i don't find it stable...
      Thanks for your help and have a good day!
    • pinkfoyd
      By pinkfoyd
      Hi,
      Here is a tool coded in AutoIt to edit multiple ini files ( up to 8 at the same time) to include multilanguage support in your script.

       
       
      The script himself have multilanguage support, simply by using :
      To change language, i read my global.ini file witch inform me what ini file i had to use...
      ConsoleWrite ( _string_lang(19) ) Func _string_lang($number) $number = _StringRepeat("0",6-StringLen($number)) & $number $string = IniRead($my_ini_folder & $interface_ini_file,"STRING",$number,"NOT_FOUND") Return($string) EndFunc  
      where 19 is the 19 string in ini file witch look like this :
       
      Todo : Initial ini file not necessarily "english.ini"
       
       
      Feel free to use it, give me idea, critical or bug found.....
       
      As i am french please be gently
       
      Multilangue_autoit.zip
    • valdemar1977
      By valdemar1977
      Dbug is graphical debugger for AutoIt.
      Project started by @Heron in 2009 and now supported by @asdf8 and @valdemar1977
      Features
      Debug the complete script or just parts of it Display run status (line number of currently executed function) GUI default always-on-top in the upper right corner for comfortable debugging WM_NOTIFY and WM_COMMAND hook to prevent interference with possible message handlers Display scope, type and value of variables, expressions, macro's and constants (global AND function local) Execute commands in an immediate window. Can be expressions, functions and assignments Detailed display of array, struct and object variables Dynamic display of variable value in the source code (under cursor) Array table viewer with ability to view the sub-arrays, the correct handling of macro @Error, @Extended and other changes OEM and ANSI console output Conditional breakpoints Saving settings and debugging state and much more...