AECode Parser Functions Version 1

Registered by KaDMiO

Define the working structure of the first version of the AECode.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Essential
Drafter:
None
Direction:
Approved
Assignee:
KaDMiO
Definition:
Approved
Series goal:
Accepted for v1
Implementation:
Implemented
Milestone target:
milestone icon alpha-3
Started by
KaDMiO
Completed by
KaDMiO

Related branches

Sprints

Whiteboard

The new AECode will be aimed differently, instead of trying to be a completely new programming language, it will just provide basic IO functions, while the heavy processing is done through php scripts that are called from within the code.

There will be two different ways to call AECode to be executed: One through BBCode and the other one by placing the AECODE keyword inside certain text functions of different widgets.

BBCode: By placing the desired AECode between the [aecode] and [/aecode] tags.
Widgets: By writing AECODE:{DESIRED_AECODE} (See complete sintax below).

This is the list of keywords:
    PRINT - Returns the value of a certain variable or string.
    SCRIPT - Runs the specified script.

The following considerations have to be taken into account:
  - The keyword parsing is case insensitive.
  - Variable names are called like this: @{VARIABLE_NAME}, where {VARIABLE_NAME} is the name of the variable to be extracted. In case the variable contains spaces within, @"{VARIABLE_NAME}" is also accepted.
  - All scripts have to be stored in the AECore/config/preprocess folder, following all conventions of the preprocessing scripts.
  - & represents a variable or null amount of spaces.
  - Multiple instructions can be joined together, separated by a semi-colon .

The syntax for calling AECode inside widgets is the following:
    &AECODE&:&{DESIRED_AECODE}

This is the allowed syntax for {DESIRED_AECODE}:
    &{INSTRUCTION}&;&{INSTRUCTION}&;&{INSTRUCTION}&; (...)

This is the allowed syntax for {INSTRUCTION}:
    PRINT &{VARIABLE_NAME}
    PRINT_STRICT&"{VARIABLE_NAME}"
    PRINT_STRING&"""{STATIC_STRING}"""
    SCRIPT&"{SCRIPT_FILENAME}"
Each instruction is trimmed before it is processed, so trailing or ending whitespaces do not matter.

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.