Jump to content

A cross-platform implementation of the AutoIt language


How interested are you?  

61 members have voted

  1. 1. How interested are you?

    • I am willing to work on the code
    • I am willing to help with testing
    • I would love to see this becoming a reality
    • Nah mate, I don't think this is a good idea


Recommended Posts

1 hour ago, TheDcoder said:

I am planning to write a document which describes the syntax of the language

Isn't this called "AutoIt help file" :muttley:

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
Share on other sites

36 minutes ago, argumentum said:

SciTE has external files that loaded determine the syntax for a given language. Maybe you can use that. 

That is a good suggestion, I did not think of it, thanks. However my guess is that it does not fully comprehend or account for all the possible syntax variations, just the basics like identifying operators, variables, function etc.

...And potentially all that might work on basis of RegEx, god forbid if that is the case :blink:

Maybe @Jos can shed some light on this?

EasyCodeIt - A cross-platform AutoIt implementation - Fund the development! (GitHub will double your donations for a limited time)

DcodingTheWeb Forum - Follow for updates and Join for discussion

Link to comment
Share on other sites

32 minutes ago, water said:

Isn't this called "AutoIt help file" :muttley:

:muttley:

You are right. I could have used better words. What I wanted to say is was that I will make a complete technical reference for the whole language syntax, maybe even including some BNF notation!

There are two purposes of me wanting to do this:

  1. I want to understand the syntax better as a whole and break it into parts
  2. It will serve as a good reference for both me and other people who want to work with my project or with the AutoIt syntax in their own project

So everyone please send me anything they have which can help me in this matter! Maybe the AutoIt Dev team has some informal text about this lying somewhere? I bet there is a "test script" which was in use when AutoIt v3 was in development, however it might be buried deep after all these years. I would love to get my hands on them :drool:

EasyCodeIt - A cross-platform AutoIt implementation - Fund the development! (GitHub will double your donations for a limited time)

DcodingTheWeb Forum - Follow for updates and Join for discussion

Link to comment
Share on other sites

A formal grammar definition is way more useful than any code sample, whatever it may be.

This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.
Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe here
RegExp tutorial: enough to get started
PCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta.

SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.
SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.
An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.
SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)
A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!
SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt)

Link to comment
Share on other sites

@jchd Oh wouldn't I love to get my hands on a formal grammer definition. But alas, the chances for such a thing to exist are bleek... let alone the chances for me to get it :(

Hopefully my effort will improve the situation in this regard.

EasyCodeIt - A cross-platform AutoIt implementation - Fund the development! (GitHub will double your donations for a limited time)

DcodingTheWeb Forum - Follow for updates and Join for discussion

Link to comment
Share on other sites

I remind having done some work long ago but it isn't complete nor fully suitable for the task.  I also have a vague plan to make that more solid in view of a development I have in mind, but I need time to work on this and time is something I don't have many suppliers.

This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.
Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe here
RegExp tutorial: enough to get started
PCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta.

SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.
SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.
An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.
SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)
A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!
SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt)

Link to comment
Share on other sites

@argumentum Looks like a good read, but it does not describe how to actually write the grammer of a language. Still it might come in handy, thanks.

I am already familiar with the lingo of formal format specification documents, as I have read several IETF RFCs... primarily those related to IRC :)

EasyCodeIt - A cross-platform AutoIt implementation - Fund the development! (GitHub will double your donations for a limited time)

DcodingTheWeb Forum - Follow for updates and Join for discussion

Link to comment
Share on other sites

  • Developers
30 minutes ago, TheDcoder said:

That is a good suggestion, I did not think of it, thanks. However my guess is that it does not fully comprehend or account for all the possible syntax variations, just the basics like identifying operators, variables, function etc.

...And potentially all that might work on basis of RegEx, god forbid if that is the case :blink:

Maybe @Jos can shed some light on this?

The files only provide the names of the Functions/Macros/keywords etc to the Lexer I wrote. The AU3Lexer does all the hard work to determine based on its internal logic and the provided table of different keywords, to "understand" the language syntax.

Hope that makes sense?

Jos 

Edited by Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

2 minutes ago, jchd said:

I remind having done some work long ago but it isn't complete nor fully suitable for the task.

Great to hear that, I would love to see your existing work... even if it is not complete or fully suitable for the task.

3 minutes ago, jchd said:

I also have a vague plan to make that more solid in view of a development I have in mind, but I need time to work on this and time is something I don't have many suppliers. 

I wish you luck!

EasyCodeIt - A cross-platform AutoIt implementation - Fund the development! (GitHub will double your donations for a limited time)

DcodingTheWeb Forum - Follow for updates and Join for discussion

Link to comment
Share on other sites

Whish me time rather.

This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.
Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe here
RegExp tutorial: enough to get started
PCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta.

SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.
SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.
An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.
SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)
A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!
SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt)

Link to comment
Share on other sites

  • Developers
Just now, jchd said:

Whish me time rather.

Time is simply a matter of setting priorities. ;) 

Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

@Jos That does make sense, thanks. Your lexer sounds good. I know that it is very selfish of me to ask this, but if this request is not too much of a bother for you, can you list the names of the files which contain this lexer and other keyword data in SciTE?

4 minutes ago, jchd said:

Whish me time rather.

I wish you a lot of time!... and the same for me too :lol:

Edited by TheDcoder

EasyCodeIt - A cross-platform AutoIt implementation - Fund the development! (GitHub will double your donations for a limited time)

DcodingTheWeb Forum - Follow for updates and Join for discussion

Link to comment
Share on other sites

  • Developers
3 minutes ago, TheDcoder said:

@Jos That does make sense, thanks. Your lexer sounds good. I know that it is very selfish of me to ask this, but if this request is not too much of a bother for you, can you list the names of the files which contain this lexer and other keyword data in SciTE?

The Lexer source itself is file lexau3.cxx, but that doesn't help you that much as it uses the Scintilla foundation in which it is build. scintilla call's the lexer for the functions you want to perform being the Syntax Coloring/Highlighting or the Folding.  The files used by the Lexer are

  • au3.properties which in turn loads:
    • au3.keywords.properties
    • autoit3wrapper.keywords.properties
    • au3.keywords.abbreviations

for all the different lexer option tables keywords?.$(au3).

Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

@Jos Thank you very much.

I did not expect the lexer to be an actual compiled module of the SciTE program. I will make do with the property/data files for now :)

EasyCodeIt - A cross-platform AutoIt implementation - Fund the development! (GitHub will double your donations for a limited time)

DcodingTheWeb Forum - Follow for updates and Join for discussion

Link to comment
Share on other sites

  • Developers

Au3check is using a stand-alone lexer based on FLEX & YACC, which is also the reason why, with each syntax changes, we're in trouble as it was written by @tylo who isn't around anymore since a good number of years.

Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

Yet another reason why it would be good thing to have one we fully master.

This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.
Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe here
RegExp tutorial: enough to get started
PCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta.

SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.
SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.
An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.
SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)
A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!
SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt)

Link to comment
Share on other sites

@Jos Oh, that is interesting! YACC as I understand, takes grammer input which is similar to BNF, this could be useful. Any chance that I/we can get access to the grammer input for Au3check's lexer?

EasyCodeIt - A cross-platform AutoIt implementation - Fund the development! (GitHub will double your donations for a limited time)

DcodingTheWeb Forum - Follow for updates and Join for discussion

Link to comment
Share on other sites

  • Developers

I am fine with making it public and sharing it on Github, which would also allow others to make modifications to it as my brain has issues handling it at times.
.. but it is up to @Jon to say Yea or Nee to that.

Jos 

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

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
 Share

×
×
  • Create New...