Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.
Před 70 lety, 7. června 1954, ve věku 41 let, zemřel Alan Turing, britský matematik, logik, kryptoanalytik a zakladatel moderní informatiky.
NiceGUI umožňuje používat webový prohlížeč jako frontend pro kód v Pythonu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.6. Z novinek lze vypíchnout lepší integraci LLM (OpenAI, Google AI, Ollama) nebo podporu Matter 1.3.
IKEA ve Spojeném království hledá zaměstnance do své nové pobočky. Do pobočky v počítačové hře Roblox. Nástupní mzda je 13,15 liber na hodinu.
Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.
Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.
MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.
v beznem clanku o programovacich jazycich je minimalne jedna kapitola venovana gramatikam a podobnym vecem. abych pravdu rekl, neni to tema ktere by me nejak extra rajcovalo a teoreticky by se bez nej i interpretr mohl obejit. ale budiz. muj posledni prispevek budiz ukazkou toho, jak nektere nastroje mam rad. premyslel, jsem jestli parser udelat v ruce nebo generovat. ale jelikoz mam v nadpisu "snadno a rychle" a ne "slozitejc a poradne", tak jsem se rozhodl nakonec pouzit generatory.
gramatika scheme neni zavratne slozita ajak jsem rikal, bez problemu se da udelat v ruce, teda bez pouziti generatoru jako flex a bison, ale radsi jej pouzijeme. r5rs mluvi dokonce o tom, ze diky kvazikvotovani, se nejedna o bezkontextovou gramatiku a tudiz bison by na to mel byt kratky, ale kdyz se kvazikvotovani presune do standardni knihovny, uz tento problem odpada.
definice muze vypadat nejak takhle
:scheme.l: %{ #include <string.h> #include "scheme.tab.h" %} INITIAL_CHAR [[:alnum:]]|\+|\*|\-|\\|=|#|\?|\!|<|>|_|\/|~|:|% INNER_CHAR [[:alnum:]]|\+|\*|\-|\\|=|#|\?|\!|<|>|_|\/|~|:|%|'|,|@|`|\. LEFT_PAREN "(" RIGHT_PAREN ")" WHITE_SPACE [[:space:]] QUOTE "'" UNQUOTE "," UNQUOTE_SPLICING "@" QUASIQUOTE "`" DOT "." SEMICOL ";" %% {INITIAL_CHAR}{INNER_CHAR}* { yylval.symbol = GC_MALLOC(strlen(yytext) + 1); strcpy(yylval.symbol, yytext); return T_SYMBOL; } {LEFT_PAREN} { return T_LEFT_PAREN; } {RIGHT_PAREN} { return T_RIGHT_PAREN; } {SEMICOL}.*$ /* ignores comments */ {WHITE_SPACE}+ /* ignores white space*/ {QUOTE} { return T_QUOTE; } {UNQUOTE} { return T_UNQUOTE; } {QUASIQUOTE} { return T_QUASIQUOTE; } {UNQUOTE}{UNQUOTE_SPLICING} { return T_UNQUOTE_SPLICING; } {DOT} { return T_DOT; } %%
za pozornost maximalne stoji, ze cisla tokenu jsou brany z vystupu bisonu a pak dalsi definice, ktere se staraji o ignorovani komentaru. fakt bych nerad sel s touto tematikou nejak do hloubky, protoze o techto vecech byl uz napsan nejeden kilobyte textu.
scheme.y: %{ #include <stdlib.h> #include "types.h" #include "scheme.tab.h" #define YYERROR_VERBOSE scm_value * result = NULL; %} %union { char * symbol; scm_value * parsed; } %token <symbol> T_SYMBOL %token T_LEFT_PAREN %token T_RIGHT_PAREN %token T_QUOTE %token T_UNQUOTE %token T_UNQUOTE_SPLICING %token T_QUASIQUOTE %token T_DOT %type <parsed> expressions symbol symbols list quote quasiquote unquote unquote_splicing %start expressions %% expressions: symbols { result = $1; } ; symbol: T_SYMBOL { $$ = scm_value_new_symbol($1); } | list | quote | quasiquote | unquote | unquote_splicing ; symbols: symbol { $$ = scm_value_new_pair($1, SCM_CONST_NIL); } | symbol T_DOT symbol { $$ = scm_value_new_pair($1, $3); } | symbol symbols { $$ = scm_value_new_pair($1, $2); } ; list: T_LEFT_PAREN T_RIGHT_PAREN { $$ = SCM_CONST_NIL; } | T_LEFT_PAREN symbols T_RIGHT_PAREN { $$ = $2; } ; /* Quotation symbols */ quote: T_QUOTE symbol { $$ = scm_value_new_pair( scm_value_new_symbol("quote"), scm_value_new_pair($2, SCM_CONST_NIL)); } ; quasiquote: T_QUASIQUOTE symbol { $$ = scm_value_new_pair( scm_value_new_symbol("quasiquote"), scm_value_new_pair($2, SCM_CONST_NIL)); } ; unquote: T_UNQUOTE symbol { $$ = scm_value_new_pair( scm_value_new_symbol("unquote"), scm_value_new_pair($2, SCM_CONST_NIL)); } ; %%
vsimnete si, ze si zatim vystacime s pouzitim, jenom datovych typu -- PAIR, SYMBOL, NIL. zadna cisla, zadne booleovske hodnoty. to vsechno je az soucasti semanticke analyzy, ktere se budu venovat priste.
uznavam, ze tato kapitola je hodne zalostna, ale o gramatikach a takovych tech vecech bylo napsano dost, obzvlast od fundovanejsich osob. dopriste se doufam polepsim.
Tiskni Sdílej:
Thaksgiving is coming visit https://onsumo.com/thanksgiving-quotes/ for thanksgiving quotes
8 Ball Pool Cheats will let you buy all items for free. Below you will see all the cheats needed to hack 8 Ball Pool These Cheats for 8 Ball Pool work on all iOS and Android devices. You will also not need a jailbreak or rooted phone. Using our website you no longer need to download a hack tool, so it is safer. If you don't know how to use the hack for 8 Ball Pool hack tool then click here.