Revgex
Knižnica a program pre generovanie náhodných testovacích dát pomocou "jazyka" nápadne podobného regulárnym výrazom.
Na projekte pracujem sám, napísaný je v C# za použitia Windows Forms.
Projekt využíva FastColoredTextBox komponent.
Popis jazyka
Základ jazyka je podobný regulárnym výrazom
- negarantované znak (alebo rezervovaný ktorý je predchádzanie spätným lomítkom) -> vypísaný na výstup
- [Abc123] -> vypísaný náhodný znak z výberu, možno používať aj intervaly - napr. Az
- \ D, \ s pod. -> kategória znakov (možné použiť aj vo vnútri []): \ d sú číslice, \ s biele znaky, \ w písmená, číslice a _, veľkým pišťanie sa značí opak (napr. \ D -> čokoľvek okrem číslic)
- () -> skupina, môže začínať výrazom v tvare: názov; - teda (: názov; kód) -> takto možno skupinu pomenovať
- * -> náhodný počet opakovaní, horný limit je zadaný v aplikácii ( "Repetition limit"), častejšie generuje menej opakovaní
- + -> ako *, ale vždy vygeneruje aspoň 1 výskyt
- {N} -> n výskytov
- {N,} -> aspoň n výskytov
- {N, m} -> aspoň n, najviac m výskytov
- (Abc | 012) -> znak '|' oddeľuje možnosti, z možností va danej skupine sa náhodne vyberie
- . -> ľubovoľný znak
- \ 01 -> spätná referencie na 1. skupinu
- \: Názov; -> spätná referencie na skupinu s daným názvom
- $ 01 -> spätná referencie na 1. skupinu, namiesto generovanie použije naposledy vygenerovanú hodnotu
- $: Názov; -> spätná referencie na skupinu s daným názvom, namiesto generovanie použije naposledy vygenerovanú hodnotu
Pozn .: rekurzia nie je povolená
Ďalšie syntaxe
- (! X kód) -> modifikuje všetko čo je generované jej obsahom na základe znaku za výkričníkom
U | prevod na veľké písmená |
l | prevod na malé písmená |
C | veľké písmená na začiatku slov |
_ | nahradí medzery a pomlčky za podčiarknutia |
'' | nahradí pomlčky a podčiarknutia za medzery |
- | nahradí medzery a podčiarknutia za pomlčky |
n | odstráni medzery |
t | odoberie biele znaky zo začiatku a konca |
0 | odoberie nuly zo začiatku |
! | výstup kódu je skrytý - možno použiť ako komentár alebo pre defiince skupín ktoré majú byť použité neskôr |
- ( "Oddeľovač; opakovanie kód) -> generuje pomocou kódu toľkokrát, koľko je dané opakovaním, vygenerovaté výrazy oddelí oddeľovačom, napr. (", \; {5} \ d {2})
- ( 'Oddeľovač; opakovanie kód) -> ako s dvojitými úvodzovkami, ale generuje iba jeden výraz a ten opakuje
Poznámky k aplikácii
- voľby pre ignorovanie bielych znakov v aplikácii sú tu pre umožnenie formátovanie "kódu". Pokiaľ má byť biely znak predsa len vygenerovaný, stačí použiť spätné lomítko ( "\" pre medzeru, "\ n" pre koniec riadky)
- Filter umožňuje filtrovať vygenerované texty na základe regulárneho výrazu
- knižnica generuje iba ASCII znaky
- aplikácia umožňuje uložiť výstup do súboru
Vyjadrenie poroty
- Dan Vítek - 9 bodov - Super aplikácie, osobne som niečo také už nejakú dobu hľadal. Funguje dobre, reálne mi tam chýbal nejaký, aspoň základné, syntax highlighting. Stačilo by, aby oddelil farebne skupiny, makrá a ďalšie fce od textu.
- Adam Ježek - 10 bodov - Dobrý nápad, aplikácie funkčné, viem si predstaviť jej využitie, v GUI nie sú žiadne nepotrebné grafické prvky.
V nasledujúcom cvičení, Cvičenie 1 - Spájanie textu, si precvičíme nadobudnuté skúsenosti z predchádzajúcich lekcií.
Galéria
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami
Stiahnuté 14x (1.26 MB)
Aplikácia je vrátane zdrojových kódov v jazyku C#