Expand description
§Grammar Rules
The parser will interpret each row of the raw Habito records using custom grammar rules that capture the following components:
- Habit Number and Description: Each line begins with a habit’s number and its description, separated by a colon and space.
- Example:
9: write 15 pagesor10: workout
- Example:
- Goal Metric: Following the habit description is a metric representing the goal or frequency of the habit, recorded in decimal format.
- Example:
15.0for “write 15 pages” or1.0for “workout.”
- Example:
- Time Period: This is a summary of the time period over which the habit has been tracked, usually represented as a string like “1 day” or “2 days.”
- Completion Statuses: The final part of each record is a list of boxes (□ and ■) representing each day’s habit completion. An empty box (□) represents an incomplete day, while a filled box (■) signifies a completed day.
- Example:
□ □ ■ □ □ □ □ □ □indicates the habit was completed only once.
- Example:
§Parsing Rules
The parser will recognize each part of the record based on positional patterns and character types:
- Number & Description: Parse up to the first colon
:as an identifier and then capture the text until the metric. - Metric: Identify as a float or decimal number immediately after the description.
- Time Period: A string following the metric with a unit indicating “day(s).”
- Completion Statuses: A sequence of empty
□and filled■checkboxes, counted for calculating success rates.
§Parsing Example
Given an example record:
│ 9: write 15 pages │ 15.0 │ 1 days │ □ □ ■ □ □ □ □ □ □ │
│ 10: workout │ 1.0 │ 2 days │ ■ ■ □ □ □ □ □ □ □ │