From 8bcf049ced003eef218bb763a6a1f7e4e1fff59a Mon Sep 17 00:00:00 2001 From: Jan Meyer Date: Wed, 8 Apr 2026 13:00:12 +0200 Subject: [PATCH] vault backup: 2026-04-08 13:00:12 --- .obsidian/snippets/matugen.css | 164 +++++++++--------- .obsidian/workspace.json | 26 ++- 00 Inbox/29593975 - Regular Expressions.md | 31 ++++ .../29593940 - Formal Languages.md | 6 +- 4 files changed, 135 insertions(+), 92 deletions(-) create mode 100644 00 Inbox/29593975 - Regular Expressions.md diff --git a/.obsidian/snippets/matugen.css b/.obsidian/snippets/matugen.css index 068094f..22f5d7e 100644 --- a/.obsidian/snippets/matugen.css +++ b/.obsidian/snippets/matugen.css @@ -6,113 +6,113 @@ .theme-dark, .theme-light { /* ── Material You RGB helpers ──────────────────────────── */ - --mat-bg-rgb: 32, 14, 14; - --mat-surface-rgb: 32, 14, 14; - --mat-on-surface-rgb: 254, 218, 217; - --mat-primary-rgb: 255, 179, 178; - --mat-on-primary-rgb: 104, 0, 19; + --mat-bg-rgb: 19, 18, 29; + --mat-surface-rgb: 19, 18, 29; + --mat-on-surface-rgb: 228, 224, 240; + --mat-primary-rgb: 195, 192, 255; + --mat-on-primary-rgb: 29, 0, 165; /* ── Core Backgrounds ──────────────────────────────────── */ - --background-primary: #200e0e; - --background-primary-alt: #200e0e; - --background-secondary: #291616; - --background-secondary-alt: #2e1a1a; + --background-primary: #13121d; + --background-primary-alt: #13121d; + --background-secondary: #1b1a25; + --background-secondary-alt: #1f1e29; /* ── Titlebar ──────────────────────────────────────────── */ - --titlebar-background: #200e0e; - --titlebar-background-focused: #291616; - --titlebar-text-color: #fedad9; + --titlebar-background: #13121d; + --titlebar-background-focused: #1b1a25; + --titlebar-text-color: #e4e0f0; /* ── Borders & Dividers ────────────────────────────────── */ - --background-modifier-border: #5e3f3e; - --background-modifier-border-focus: #ae8786; - --background-modifier-border-hover: #ae8786; + --background-modifier-border: #464557; + --background-modifier-border-focus: #918fa3; + --background-modifier-border-hover: #918fa3; /* ── Text Colors ───────────────────────────────────────── */ - --text-normal: #fedad9; - --text-muted: #e8bcbb; - --text-faint: #ae8786; - --text-on-accent: #680013; - --text-selection: rgba(255, 179, 178, 0.25); + --text-normal: #e4e0f0; + --text-muted: #c7c4da; + --text-faint: #918fa3; + --text-on-accent: #1d00a5; + --text-selection: rgba(195, 192, 255, 0.25); /* ── Accent & Interactive ──────────────────────────────── */ - --interactive-accent: #ffb3b2; - --interactive-accent-hover: #ff525d; - --interactive-accent-rgb: 255, 179, 178; - --text-accent: #ffb3b2; - --text-accent-hover: #ff525d; + --interactive-accent: #c3c0ff; + --interactive-accent-hover: #3c24f6; + --interactive-accent-rgb: 195, 192, 255; + --text-accent: #c3c0ff; + --text-accent-hover: #3c24f6; /* ── Hover & Active Modifiers ──────────────────────────── */ --background-modifier-hover: rgba(var(--mat-on-surface-rgb), 0.06); --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-hover: #ffb4ab; /* ── Obsidian Color Scale (--color-base-XX) ────────────── */ - --color-base-00: #200e0e; - --color-base-05: #200e0e; - --color-base-10: #1a0909; - --color-base-20: #291616; - --color-base-25: #2e1a1a; - --color-base-30: #392524; - --color-base-35: #452f2f; - --color-base-40: #5e3f3e; - --color-base-50: #ae8786; - --color-base-60: #e8bcbb; - --color-base-70: #fedad9; - --color-base-100: #fedad9; + --color-base-00: #13121d; + --color-base-05: #13121d; + --color-base-10: #0d0d17; + --color-base-20: #1b1a25; + --color-base-25: #1f1e29; + --color-base-30: #292934; + --color-base-35: #34343f; + --color-base-40: #464557; + --color-base-50: #918fa3; + --color-base-60: #c7c4da; + --color-base-70: #e4e0f0; + --color-base-100: #e4e0f0; /* ── Semantic Colors ───────────────────────────────────── */ --color-red: #ffb4ab; - --color-orange: #70d6db; - --color-yellow: #ffb3b2; - --color-green: #2f9fa4; - --color-cyan: #8f0d21; - --color-blue: #ffb3b2; - --color-purple: #ffb3b2; - --color-pink: #70d6db; + --color-orange: #ffb4a3; + --color-yellow: #c3c0ff; + --color-green: #a32200; + --color-cyan: #3e3a96; + --color-blue: #c3c0ff; + --color-purple: #c3c0ff; + --color-pink: #ffb4a3; /* ── Headings ──────────────────────────────────────────── */ - --h1-color: #ffb3b2; - --h2-color: #ffb3b2; - --h3-color: #ffb3b2; - --h4-color: #70d6db; - --h5-color: #e8bcbb; - --h6-color: #ae8786; + --h1-color: #c3c0ff; + --h2-color: #c3c0ff; + --h3-color: #c3c0ff; + --h4-color: #ffb4a3; + --h5-color: #c7c4da; + --h6-color: #918fa3; /* ── Links ─────────────────────────────────────────────── */ - --link-color: #ffb3b2; - --link-color-hover: #000000; - --link-external-color: #70d6db; - --link-unresolved-color: #ae8786; + --link-color: #c3c0ff; + --link-color-hover: #faf6ff; + --link-external-color: #ffb4a3; + --link-unresolved-color: #918fa3; /* ── Tags ──────────────────────────────────────────────── */ - --tag-color: #000000; - --tag-background: #ff525d; - --tag-border-color: #ffb3b2; - --tag-color-hover: #680013; - --tag-background-hover: #ffb3b2; + --tag-color: #faf6ff; + --tag-background: #3c24f6; + --tag-border-color: #c3c0ff; + --tag-color-hover: #1d00a5; + --tag-background-hover: #c3c0ff; /* ── Checkboxes ────────────────────────────────────────── */ - --checkbox-color: #ffb3b2; - --checkbox-color-hover: #ff525d; - --checkbox-border-color: #ae8786; - --checkbox-marker-color: #680013; + --checkbox-color: #c3c0ff; + --checkbox-color-hover: #3c24f6; + --checkbox-border-color: #918fa3; + --checkbox-marker-color: #1d00a5; /* ── Code Blocks ───────────────────────────────────────── */ - --code-background: #291616; - --code-normal: #fedad9; - --code-comment: #ae8786; - --code-function: #ffb3b2; + --code-background: #1b1a25; + --code-normal: #e4e0f0; + --code-comment: #918fa3; + --code-function: #c3c0ff; --code-important: #ffb4ab; - --code-keyword: #ffb3b2; - --code-operator: #70d6db; - --code-property: #e8bcbb; - --code-punctuation: #5e3f3e; - --code-string: #70d6db; + --code-keyword: #c3c0ff; + --code-operator: #ffb4a3; + --code-property: #c7c4da; + --code-punctuation: #464557; + --code-string: #ffb4a3; --code-tag: #ffb4ab; - --code-value: #ffb3b2; + --code-value: #c3c0ff; /* ── Scrollbar ─────────────────────────────────────────── */ --scrollbar-thumb-bg: rgba(var(--mat-on-surface-rgb), 0.12); @@ -121,16 +121,16 @@ /* ── Inputs ────────────────────────────────────────────── */ --input-shadow: none; - --input-shadow-hover: 0 0 0 2px #ae8786; + --input-shadow-hover: 0 0 0 2px #918fa3; /* ── Graph View ────────────────────────────────────────── */ - --graph-node: #ffb3b2; - --graph-node-unresolved: #ae8786; - --graph-node-focused: #000000; - --graph-node-tag: #ffb3b2; - --graph-node-attachment: #70d6db; - --graph-line: #5e3f3e; - --graph-background: #200e0e; + --graph-node: #c3c0ff; + --graph-node-unresolved: #918fa3; + --graph-node-focused: #faf6ff; + --graph-node-tag: #c3c0ff; + --graph-node-attachment: #ffb4a3; + --graph-line: #464557; + --graph-background: #13121d; } diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index c5ded85..309e96b 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -20,8 +20,23 @@ "icon": "lucide-file", "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" @@ -78,7 +93,7 @@ } ], "direction": "horizontal", - "width": 602.5041885375977 + "width": 200 }, "right": { "id": "8a65bc0c1d4d98f2", @@ -182,16 +197,17 @@ "darlal-switcher-plus:Open Symbols for the active editor": false } }, - "active": "7a0e7b37bd89861d", + "active": "e179fd2c20f4067e", "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/29593952 - Regular 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/normalize_name.sh", "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/29593940 - Formal Languages.md", "30 Library/29593895 - atfl-st2026-l01-formal-languages-full.pdf", "10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593929 - Alphabets.md", "30 Library/29592593 - ET_II_Folien_gesamt_020426.pdf", diff --git a/00 Inbox/29593975 - Regular Expressions.md b/00 Inbox/29593975 - Regular Expressions.md new file mode 100644 index 0000000..cb4c408 --- /dev/null +++ b/00 Inbox/29593975 - Regular Expressions.md @@ -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)^*$ + \ No newline at end of file diff --git a/10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593940 - Formal Languages.md b/10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593940 - Formal Languages.md index d2366e6..4ac1a11 100644 --- a/10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593940 - Formal Languages.md +++ b/10 Courses/02 - SoSe 2026/Automatentheorie und formale Sprachen/29593940 - Formal Languages.md @@ -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 ### Using set notation $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 -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)$