Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

What does the eclispe Automata do?


Halot
 Share

Recommended Posts

I had a webpage up which took code and converted it into Automata format (which was more or less a dialect of AutoIt). You'd select if you wanted to add, remove, replace, or open a file. It'd generate code to do so. You'd then send it to me and I'd compile it (or you could compile it yourself). Then it would be hosted on a repository with all the other files.
Example:
```
open("client\\src\\filehere.bas")
find("Function DoX(ByVal index As Long)" & @CRLF)
add("Call PlayerMsg(index, ""Hello"", WHITE)" & @CRLF)

```
I also have an interpreted version laying around somewhere, but I don't think it would be useful anymore. You'd install an executable which you could feed scripts to, or pick them off the repository. It takes input like this:
```
~!open
client\src\filehere.bas
~!find
Function DoX(ByVal index As Long)

~!add
Call PlayerMsg(index, "Hello", WHITE)

~!end

```
Neither had much interest though. Perhaps one day I'll make one that lexically parses the input so you don't have to convert anything, which would solve the interest problem.
Link to comment
Share on other sites

It's actually called logic, but I realise it's practically magic in that little world of yours so I'll humour you.

You tell the program to find a specific line in the files and add a new line of code underneath it.

If you had two systems which were based off the same line then you'd have the second system you installed just below the line and the first system you installed below that.

Why would a program based on find & add randomly overwrite things? Use your brain.
Link to comment
Share on other sites

> Woud it add GUI items as well, say if you needed a picturebox and a listbox, would it add them for you?

Yes and no, but mostly no. VB6 forms are something like this:
```
VERSION 5.00
Begin VB.Form formhere
    BorderStyle = 1
    ' more stuff here
    Begin VB.CommandButton lolbutton
        Caption = "Lolol"
        Height = 375
        ' omitted
    End
' omitted
Attribute VB_Name = "frmFake"
' code from project here

```
So you could manually code it to add buttons by doing Find("Begin VB.CommandButton lolbutton") and then adding before it.
Link to comment
Share on other sites

@Robin:

> Why would a program based on find & add randomly overwrite things? Use your brain.

That's quite obviously not what I'm talking about.

When you're sending numbered data, it would find say, 15 and add number 16 underneath. If you already added 16 you'd error out, or something.

I was wondering how this would be avoided, so if you won't contribute, Robin, you can bugger off.
Link to comment
Share on other sites

@Bonk:

> When you're sending numbered data, it would find say, 15 and add number 16 underneath. If you already added 16 you'd error out, or something.
>
> I was wondering how this would be avoided, so if you won't contribute, Robin, you can bugger off.

You're either saying one of two things:

* If we have two of the same cases, will Automata error out?
* If we have two of the same cases, will Visual Basic 6 error out?

If you mean the first one, then nope. Automata doesn't care what it's putting in. It will not overwrite it like you said, it will just add it.
If you mean the second one, yeah, VB6 would throw an ambiguous error problem. This is because Automata doesn't overwrite it.

The only way Automata could stop this is if it had a whole language parser, so it could read Visual Basic 6 and stop that from happening, or if we rejected non-fast-forward merges, which would defeat the entire purpose of Automata. (We could also manually check to make sure, but that's not automated and beyond the point.)

There's only one time when Automata will throw an error, when it's trying to find something that doesn't exist. If one Automata program removes a line of code, and another Automata program wants to find it, it will error and exit.
Example:
```
Delete me.

```
If one has:
```
delete("Delete me.")

```
and the other one has:
```
find("Delete me.")
add("Add me.")

```
Then we get an error.

Either way, you should be more clear when asking questions.
Link to comment
Share on other sites

The first time, perhaps.
The second time you threw it out, not so much.

Trust me, private education counts for more than putting Crystalshire on your CV, so I wouldn't throw intelligence into this.

@Soul:

> Bleh

Thanks for that, yes. It's what I meant.
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...