Search the Community
Showing results for tags 'own'.
-
I'm writing a recursive decent parser in Autoit! The programming language i'm making is called HighLevel. I'm doing this for learning purposes, because it's fun and because I can implement it into my other project: Fullscreen Console With custom programming language! It's not easy... In Autoit you don't have objects like in Java or Visual Basic, so I had to figure out a way to still convert the code to an abstract syntax tree. I used nested array's and array based dictionary's instead of objects. The code is still very dirty and I need to make a lot of modifications but if you're careful with testing you'll see what it can do already. Console window Because this code eventually will get implemented into my console project I crafted a nice little console window (with a custom sci-fi looking theme, yeah i was a little bored haha). {ESC} is your panic button for now, it terminates the script completely. If you get an error while opening a script the text will turn red. To minimize it press the blue button, to close it use the red one, to drag the gui just grab it on one of the sides. The console window will display what you write to it with your "HighLevel-script" and some additional information: How to test it: Download: HighLevel.Au3, Debug.Au3 (includes a function to display nested arrays for debugging), GUI.bmp (for the console) Compile the Autoit code to EXE. The GUI.bmp must be in the same folder as the EXE file! Write a HighLevel-script (text file) and drag it into the compiled autoit-exe. The custom made little console window will pop up in the left top corner of your screen and your HighLevel-script (the text file) will be interpreted and executed. The Language: exit script: Abort show / hide the console: Show Hide write to/clear the console: Write 'this is a ''string''!' Clear variables: test_var_1 = 123 some_list = ['a', 5, true] some_list[1] = 3 math = 1 + 2 * 3 / 4 - -5 & test_var beep (under construction): Beep F, optD wait X seconds: Wait X Messages: Message 'Hello World!' move/click the mouse: Move X, Y Click send keys (under construction): Send 'HighLevel', True if's: If false ElseIf true # this part will run Else End subs: Sub X # do stuff End Call X for loops: For X = 1 to 10 # X iterates End Values: Input 'Give me input' Random YesNo 'yes or no' operators: + - * / & > = ! < ( ) And Not Or Example script: # my first HighLevel script message 'Hello World!' message 'Lets write to the console...' clear # clear the console... list = ['a', 16, true] for i = 0 to 2 write list[i] wait 1 end sub test if YesNo 'would you like to quit?' message 'Goodbye!' abort else write 1 + 2 * 3 & ' math!' end end call test test script.HighLevel GUI.bmp Debug.au3 HighLevel.au3
-
- interpreter
- parser
-
(and 3 more)
Tagged with:
-
Good morning I was looking around the forum if there were some customizable solutions about creating a PDF from "0" to something like a report... What I'd like to do is something with a header ( 2 logos and a title ), with a table which contains data read from a file At the moment, I was working with HTML, since I know it and it's very simple to do a table with some data inside... But know, I'm a bit stuck about the exporting the HTML page to PDF... And, here too, if someone knows how to do it, please, I'm here listening Thanks guys
-
Hello readers of this post I'm planning to make a sort of script engine via autoit. It will read text files as 'scripts' with my self made scripting language. (but i'm going to make my own extension for the 'scripts') i'm thinking about " nameOfFile.GeekScript " or something... how it works: files with the extension ".geekscript" will be opened with my "script-engine.exe" made in autoit. -script-engine.exe reads the script and breaks it apart in sentences by @CRLF. -every sentence will be spitted up to 'words' (or commands) that will be recognized by my script-engine. -the engine recognizes if you want to make a variable when it reads a word followed by '=' and after that a string or number (or calculations). and here i'm stuck, if the script engine reads this for example: ----------------------------------------------------------------------------- ABC = 456 DEF = "this is a test" & ABC + 123 ----------------------------------------------------------------------------- for the variable "DEF", it must calculate the result for that variable and store that in a dictionary object or something. i tough of using autoit's "execute" or "eval" function to see what the output would be but unfortunately if by coincidence the variable exists in the 'script-engine source code' eval or execute will use that variable... this is what i mean: ----------------------------------------------------------------------------- Func = 456 ----------------------------------------------------------------------------- if i use eval or execute for this string: eval("func = 456") then it would give an error or it won't work. same for variables that exist in the 'script-engine autoit code'... does anybody know if there is a way for calculating strings like eval does, but don't use the variables made in the autoit script?