vault backup: 2026-04-08 13:00:12
This commit is contained in:
164
.obsidian/snippets/matugen.css
vendored
164
.obsidian/snippets/matugen.css
vendored
@@ -6,113 +6,113 @@
|
|||||||
.theme-dark, .theme-light {
|
.theme-dark, .theme-light {
|
||||||
|
|
||||||
/* ── Material You RGB helpers ──────────────────────────── */
|
/* ── Material You RGB helpers ──────────────────────────── */
|
||||||
--mat-bg-rgb: 32, 14, 14;
|
--mat-bg-rgb: 19, 18, 29;
|
||||||
--mat-surface-rgb: 32, 14, 14;
|
--mat-surface-rgb: 19, 18, 29;
|
||||||
--mat-on-surface-rgb: 254, 218, 217;
|
--mat-on-surface-rgb: 228, 224, 240;
|
||||||
--mat-primary-rgb: 255, 179, 178;
|
--mat-primary-rgb: 195, 192, 255;
|
||||||
--mat-on-primary-rgb: 104, 0, 19;
|
--mat-on-primary-rgb: 29, 0, 165;
|
||||||
|
|
||||||
/* ── Core Backgrounds ──────────────────────────────────── */
|
/* ── Core Backgrounds ──────────────────────────────────── */
|
||||||
--background-primary: #200e0e;
|
--background-primary: #13121d;
|
||||||
--background-primary-alt: #200e0e;
|
--background-primary-alt: #13121d;
|
||||||
--background-secondary: #291616;
|
--background-secondary: #1b1a25;
|
||||||
--background-secondary-alt: #2e1a1a;
|
--background-secondary-alt: #1f1e29;
|
||||||
|
|
||||||
/* ── Titlebar ──────────────────────────────────────────── */
|
/* ── Titlebar ──────────────────────────────────────────── */
|
||||||
--titlebar-background: #200e0e;
|
--titlebar-background: #13121d;
|
||||||
--titlebar-background-focused: #291616;
|
--titlebar-background-focused: #1b1a25;
|
||||||
--titlebar-text-color: #fedad9;
|
--titlebar-text-color: #e4e0f0;
|
||||||
|
|
||||||
/* ── Borders & Dividers ────────────────────────────────── */
|
/* ── Borders & Dividers ────────────────────────────────── */
|
||||||
--background-modifier-border: #5e3f3e;
|
--background-modifier-border: #464557;
|
||||||
--background-modifier-border-focus: #ae8786;
|
--background-modifier-border-focus: #918fa3;
|
||||||
--background-modifier-border-hover: #ae8786;
|
--background-modifier-border-hover: #918fa3;
|
||||||
|
|
||||||
/* ── Text Colors ───────────────────────────────────────── */
|
/* ── Text Colors ───────────────────────────────────────── */
|
||||||
--text-normal: #fedad9;
|
--text-normal: #e4e0f0;
|
||||||
--text-muted: #e8bcbb;
|
--text-muted: #c7c4da;
|
||||||
--text-faint: #ae8786;
|
--text-faint: #918fa3;
|
||||||
--text-on-accent: #680013;
|
--text-on-accent: #1d00a5;
|
||||||
--text-selection: rgba(255, 179, 178, 0.25);
|
--text-selection: rgba(195, 192, 255, 0.25);
|
||||||
|
|
||||||
/* ── Accent & Interactive ──────────────────────────────── */
|
/* ── Accent & Interactive ──────────────────────────────── */
|
||||||
--interactive-accent: #ffb3b2;
|
--interactive-accent: #c3c0ff;
|
||||||
--interactive-accent-hover: #ff525d;
|
--interactive-accent-hover: #3c24f6;
|
||||||
--interactive-accent-rgb: 255, 179, 178;
|
--interactive-accent-rgb: 195, 192, 255;
|
||||||
--text-accent: #ffb3b2;
|
--text-accent: #c3c0ff;
|
||||||
--text-accent-hover: #ff525d;
|
--text-accent-hover: #3c24f6;
|
||||||
|
|
||||||
/* ── Hover & Active Modifiers ──────────────────────────── */
|
/* ── Hover & Active Modifiers ──────────────────────────── */
|
||||||
--background-modifier-hover: rgba(var(--mat-on-surface-rgb), 0.06);
|
--background-modifier-hover: rgba(var(--mat-on-surface-rgb), 0.06);
|
||||||
--background-modifier-active-hover: rgba(var(--mat-primary-rgb), 0.15);
|
--background-modifier-active-hover: rgba(var(--mat-primary-rgb), 0.15);
|
||||||
--background-modifier-success: #2f9fa4;
|
--background-modifier-success: #a32200;
|
||||||
--background-modifier-error: #93000a;
|
--background-modifier-error: #93000a;
|
||||||
--background-modifier-error-hover: #ffb4ab;
|
--background-modifier-error-hover: #ffb4ab;
|
||||||
|
|
||||||
/* ── Obsidian Color Scale (--color-base-XX) ────────────── */
|
/* ── Obsidian Color Scale (--color-base-XX) ────────────── */
|
||||||
--color-base-00: #200e0e;
|
--color-base-00: #13121d;
|
||||||
--color-base-05: #200e0e;
|
--color-base-05: #13121d;
|
||||||
--color-base-10: #1a0909;
|
--color-base-10: #0d0d17;
|
||||||
--color-base-20: #291616;
|
--color-base-20: #1b1a25;
|
||||||
--color-base-25: #2e1a1a;
|
--color-base-25: #1f1e29;
|
||||||
--color-base-30: #392524;
|
--color-base-30: #292934;
|
||||||
--color-base-35: #452f2f;
|
--color-base-35: #34343f;
|
||||||
--color-base-40: #5e3f3e;
|
--color-base-40: #464557;
|
||||||
--color-base-50: #ae8786;
|
--color-base-50: #918fa3;
|
||||||
--color-base-60: #e8bcbb;
|
--color-base-60: #c7c4da;
|
||||||
--color-base-70: #fedad9;
|
--color-base-70: #e4e0f0;
|
||||||
--color-base-100: #fedad9;
|
--color-base-100: #e4e0f0;
|
||||||
|
|
||||||
/* ── Semantic Colors ───────────────────────────────────── */
|
/* ── Semantic Colors ───────────────────────────────────── */
|
||||||
--color-red: #ffb4ab;
|
--color-red: #ffb4ab;
|
||||||
--color-orange: #70d6db;
|
--color-orange: #ffb4a3;
|
||||||
--color-yellow: #ffb3b2;
|
--color-yellow: #c3c0ff;
|
||||||
--color-green: #2f9fa4;
|
--color-green: #a32200;
|
||||||
--color-cyan: #8f0d21;
|
--color-cyan: #3e3a96;
|
||||||
--color-blue: #ffb3b2;
|
--color-blue: #c3c0ff;
|
||||||
--color-purple: #ffb3b2;
|
--color-purple: #c3c0ff;
|
||||||
--color-pink: #70d6db;
|
--color-pink: #ffb4a3;
|
||||||
|
|
||||||
/* ── Headings ──────────────────────────────────────────── */
|
/* ── Headings ──────────────────────────────────────────── */
|
||||||
--h1-color: #ffb3b2;
|
--h1-color: #c3c0ff;
|
||||||
--h2-color: #ffb3b2;
|
--h2-color: #c3c0ff;
|
||||||
--h3-color: #ffb3b2;
|
--h3-color: #c3c0ff;
|
||||||
--h4-color: #70d6db;
|
--h4-color: #ffb4a3;
|
||||||
--h5-color: #e8bcbb;
|
--h5-color: #c7c4da;
|
||||||
--h6-color: #ae8786;
|
--h6-color: #918fa3;
|
||||||
|
|
||||||
/* ── Links ─────────────────────────────────────────────── */
|
/* ── Links ─────────────────────────────────────────────── */
|
||||||
--link-color: #ffb3b2;
|
--link-color: #c3c0ff;
|
||||||
--link-color-hover: #000000;
|
--link-color-hover: #faf6ff;
|
||||||
--link-external-color: #70d6db;
|
--link-external-color: #ffb4a3;
|
||||||
--link-unresolved-color: #ae8786;
|
--link-unresolved-color: #918fa3;
|
||||||
|
|
||||||
/* ── Tags ──────────────────────────────────────────────── */
|
/* ── Tags ──────────────────────────────────────────────── */
|
||||||
--tag-color: #000000;
|
--tag-color: #faf6ff;
|
||||||
--tag-background: #ff525d;
|
--tag-background: #3c24f6;
|
||||||
--tag-border-color: #ffb3b2;
|
--tag-border-color: #c3c0ff;
|
||||||
--tag-color-hover: #680013;
|
--tag-color-hover: #1d00a5;
|
||||||
--tag-background-hover: #ffb3b2;
|
--tag-background-hover: #c3c0ff;
|
||||||
|
|
||||||
/* ── Checkboxes ────────────────────────────────────────── */
|
/* ── Checkboxes ────────────────────────────────────────── */
|
||||||
--checkbox-color: #ffb3b2;
|
--checkbox-color: #c3c0ff;
|
||||||
--checkbox-color-hover: #ff525d;
|
--checkbox-color-hover: #3c24f6;
|
||||||
--checkbox-border-color: #ae8786;
|
--checkbox-border-color: #918fa3;
|
||||||
--checkbox-marker-color: #680013;
|
--checkbox-marker-color: #1d00a5;
|
||||||
|
|
||||||
/* ── Code Blocks ───────────────────────────────────────── */
|
/* ── Code Blocks ───────────────────────────────────────── */
|
||||||
--code-background: #291616;
|
--code-background: #1b1a25;
|
||||||
--code-normal: #fedad9;
|
--code-normal: #e4e0f0;
|
||||||
--code-comment: #ae8786;
|
--code-comment: #918fa3;
|
||||||
--code-function: #ffb3b2;
|
--code-function: #c3c0ff;
|
||||||
--code-important: #ffb4ab;
|
--code-important: #ffb4ab;
|
||||||
--code-keyword: #ffb3b2;
|
--code-keyword: #c3c0ff;
|
||||||
--code-operator: #70d6db;
|
--code-operator: #ffb4a3;
|
||||||
--code-property: #e8bcbb;
|
--code-property: #c7c4da;
|
||||||
--code-punctuation: #5e3f3e;
|
--code-punctuation: #464557;
|
||||||
--code-string: #70d6db;
|
--code-string: #ffb4a3;
|
||||||
--code-tag: #ffb4ab;
|
--code-tag: #ffb4ab;
|
||||||
--code-value: #ffb3b2;
|
--code-value: #c3c0ff;
|
||||||
|
|
||||||
/* ── Scrollbar ─────────────────────────────────────────── */
|
/* ── Scrollbar ─────────────────────────────────────────── */
|
||||||
--scrollbar-thumb-bg: rgba(var(--mat-on-surface-rgb), 0.12);
|
--scrollbar-thumb-bg: rgba(var(--mat-on-surface-rgb), 0.12);
|
||||||
@@ -121,16 +121,16 @@
|
|||||||
|
|
||||||
/* ── Inputs ────────────────────────────────────────────── */
|
/* ── Inputs ────────────────────────────────────────────── */
|
||||||
--input-shadow: none;
|
--input-shadow: none;
|
||||||
--input-shadow-hover: 0 0 0 2px #ae8786;
|
--input-shadow-hover: 0 0 0 2px #918fa3;
|
||||||
|
|
||||||
/* ── Graph View ────────────────────────────────────────── */
|
/* ── Graph View ────────────────────────────────────────── */
|
||||||
--graph-node: #ffb3b2;
|
--graph-node: #c3c0ff;
|
||||||
--graph-node-unresolved: #ae8786;
|
--graph-node-unresolved: #918fa3;
|
||||||
--graph-node-focused: #000000;
|
--graph-node-focused: #faf6ff;
|
||||||
--graph-node-tag: #ffb3b2;
|
--graph-node-tag: #c3c0ff;
|
||||||
--graph-node-attachment: #70d6db;
|
--graph-node-attachment: #ffb4a3;
|
||||||
--graph-line: #5e3f3e;
|
--graph-line: #464557;
|
||||||
--graph-background: #200e0e;
|
--graph-background: #13121d;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
26
.obsidian/workspace.json
vendored
26
.obsidian/workspace.json
vendored
@@ -20,8 +20,23 @@
|
|||||||
"icon": "lucide-file",
|
"icon": "lucide-file",
|
||||||
"title": "29593852 - Strings"
|
"title": "29593852 - Strings"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "e179fd2c20f4067e",
|
||||||
|
"type": "leaf",
|
||||||
|
"state": {
|
||||||
|
"type": "markdown",
|
||||||
|
"state": {
|
||||||
|
"file": "00 Inbox/29593975 - Regular Expressions.md",
|
||||||
|
"mode": "source",
|
||||||
|
"source": false
|
||||||
|
},
|
||||||
|
"icon": "lucide-file",
|
||||||
|
"title": "29593975 - Regular Expressions"
|
||||||
}
|
}
|
||||||
]
|
}
|
||||||
|
],
|
||||||
|
"currentTab": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"direction": "vertical"
|
"direction": "vertical"
|
||||||
@@ -78,7 +93,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"direction": "horizontal",
|
"direction": "horizontal",
|
||||||
"width": 602.5041885375977
|
"width": 200
|
||||||
},
|
},
|
||||||
"right": {
|
"right": {
|
||||||
"id": "8a65bc0c1d4d98f2",
|
"id": "8a65bc0c1d4d98f2",
|
||||||
@@ -182,16 +197,17 @@
|
|||||||
"darlal-switcher-plus:Open Symbols for the active editor": false
|
"darlal-switcher-plus:Open Symbols for the active editor": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"active": "7a0e7b37bd89861d",
|
"active": "e179fd2c20f4067e",
|
||||||
"lastOpenFiles": [
|
"lastOpenFiles": [
|
||||||
"10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593952 - Regular Languages.md",
|
"10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593940 - Formal Languages.md",
|
||||||
|
"00 Inbox/29593975 - Regular Expressions.md",
|
||||||
"10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593852 - Strings.md",
|
"10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593852 - Strings.md",
|
||||||
|
"10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593952 - Regular Languages.md",
|
||||||
"10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593958 - Kleene star of languages.md",
|
"10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593958 - Kleene star of languages.md",
|
||||||
"30 Library/29593962 - atfl-st2026-l02-finite-representation-of-languages-full.pdf",
|
"30 Library/29593962 - atfl-st2026-l02-finite-representation-of-languages-full.pdf",
|
||||||
"30 Library/normalize_name.sh",
|
"30 Library/normalize_name.sh",
|
||||||
"30 Library/atfl-st2026-l02-finite-representation-of-languages-full.pdf",
|
"30 Library/atfl-st2026-l02-finite-representation-of-languages-full.pdf",
|
||||||
"10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593935 - Kleene.md",
|
"10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593935 - Kleene.md",
|
||||||
"10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593940 - Formal Languages.md",
|
|
||||||
"30 Library/29593895 - atfl-st2026-l01-formal-languages-full.pdf",
|
"30 Library/29593895 - atfl-st2026-l01-formal-languages-full.pdf",
|
||||||
"10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593929 - Alphabets.md",
|
"10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593929 - Alphabets.md",
|
||||||
"30 Library/29592593 - ET_II_Folien_gesamt_020426.pdf",
|
"30 Library/29592593 - ET_II_Folien_gesamt_020426.pdf",
|
||||||
|
|||||||
31
00 Inbox/29593975 - Regular Expressions.md
Normal file
31
00 Inbox/29593975 - Regular Expressions.md
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
---
|
||||||
|
created: 2026-04-08 10:55
|
||||||
|
course: "[[29593850 - Automationtheory]]"
|
||||||
|
topic: languages
|
||||||
|
related: "[[29593940 - Formal Languages#Finite representation of languages]]"
|
||||||
|
type: lecture
|
||||||
|
status: 🔴
|
||||||
|
tags:
|
||||||
|
- university
|
||||||
|
---
|
||||||
|
## 📌 Summary
|
||||||
|
|
||||||
|
> [!abstract]
|
||||||
|
>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📝 Content
|
||||||
|
|
||||||
|
A _regular expression_ $r$ over an alphabet $Sigma$ is defined recursively:
|
||||||
|
- $emptyset, epsilon$ and each $a in Sigma$ are regular expression, which represent the Languages $L(emptyset) = emptyset, L(epsilon) = {epsilon}$ and $L(a) = {a}$
|
||||||
|
- If $r$ and $s$ are regular expressions then these are also regular expressions:
|
||||||
|
- $(r + s)$ with $L(r + s) = L(r) union L(s)$
|
||||||
|
- $(r s)$ with $L(r s) = L(r)L(s)$
|
||||||
|
- $r^*$ with $L(r^*) = L(r)^*$
|
||||||
|
|
||||||
|
|
||||||
|
> [!EXAMPLE]
|
||||||
|
> The language $L$ over $Sigma = {a, b}$ containing the substring $a b$ is regular, since it can be expressed using the regular expression
|
||||||
|
> $r = (a +b)^* a b (a + b)^*$
|
||||||
|
|
||||||
@@ -49,10 +49,6 @@ The $n^"th"$ power of the language $L subset.eq Sigma^*$ over alphabet $Sigma$
|
|||||||
**Goal:** Represent a language using _finite_ information
|
**Goal:** Represent a language using _finite_ information
|
||||||
### Using set notation
|
### Using set notation
|
||||||
$S = {a^n b^m bar n, m >= 0} = {epsilon, a, b, "aa", "ab", ...}$
|
$S = {a^n b^m bar n, m >= 0} = {epsilon, a, b, "aa", "ab", ...}$
|
||||||
> This is very inefficient.
|
> This is limited in practice.
|
||||||
|
|
||||||
### Using regular expressions
|
### Using regular expressions
|
||||||
A _regular expression_ $r$ over an alphabet $Sigma$ is defined recursively:
|
|
||||||
- $emptyset, epsilon$ and each $a in Sigma$ are regular expression, which represent the Languages $L(emptyset) = emptyset, L(epsilon) = {epsilon}$ and $L(a) = {a}$
|
|
||||||
- If $r$ and $s$ are regular expressions then
|
|
||||||
- $(r+s)$
|
|
||||||
|
|||||||
Reference in New Issue
Block a user