2. Regex

Overview

A regular expression is a sequence of characters that specifies a match pattern in text.

This project wants to specify the Regex syntax for the Aria language, as per issue 53.
My course of action will be to:

  • get a background knowledge of regex engines and their internals (what algorithms do they use)

  • how the syntax differ

  • decide if i want to rewrite an engine from scratch or use dependencies

    • make the pro and cons of each
  • clarify requirements

    • which regex features will aria support?
    • do not support?
  • survey existing implementations

    • note tradeoffs in performance, complexity and syntax compatibility
    • collect examples of differences in syntax or semantics
  • if we want to implement, decide on matching model (NFA, DFA, hybrid?)

  • specify the grammar

  • design test cases (maybe steal?)

tab: Components
```dataview
table created AS "Created", summary AS "Summary"
from "PARA/AREAS/Regex"
where type != "area"
where type = "area_note"
where type != "area_note_sub"
sort created DESC
```
tab: Projects
```dataview
table type AS "Type", Status AS "Status", Priority_Level AS "Priority_Level"
from "PARA/PROJECTS"
where contains(connections, this.file.link)
where type = "project_family" OR type = "project_note"
sort Status ASC
```
tab: Other
```dataview
table type AS "Type"
from "PARA/RESOURCES/DOCUMENTATIONS" OR "PARA/WORKSTATION"
where contains(connections, this.file.link)
where type = "documentation_note" OR type = "workstation_note"
sort type ASC
```
tab: Scheduled Meetings
```dataview
TABLE scheduled_date as "Scheduled Date", start_time as "Start Time", summary as "Summary"
from #area/regex
where contains(type,"meeting")
sort meeting_status asc, scheduled_date asc
```
tab: Ongoing Task
```tasks
not done
tags include #area/regex
path does not include "SYSTEM"
sort by due date
```
tab: Completed Tasks
```tasks
done
tags include #area/regex
path does not include "SYSTEM"
sort by due date
```