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
```