O víkendu probíhá konference OpenAlt 2025. Na programu je spousta zajímavých přednášek. Pokud jste v Brně, stavte se. Vstup zdarma.
Josef Průša představil novou velkoformátovou uzavřenou CoreXY 3D tiskárnu Prusa CORE One L a nový open source standard chytrých cívek OpenPrintTag i s novou přepracovanou špulkou.
Na GOG.com běží Autumn Sale. Při té příležitosti je zdarma hororová počítačová hra STASIS (ProtonDB: Platinum).
Ubuntu 25.10 má nově balíčky sestavené také pro úroveň mikroarchitektury x86-64-v3 (amd64v3).
Byla vydána verze 1.91.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Ministerstvo průmyslu a obchodu vyhlásilo druhou veřejnou soutěž v programu TWIST, který podporuje výzkum, vývoj a využití umělé inteligence v podnikání. Firmy mohou získat až 30 milionů korun na jeden projekt zaměřený na nové produkty či inovaci podnikových procesů. Návrhy projektů lze podávat od 31. října do 17. prosince 2025. Celková alokace výzvy činí 800 milionů korun.
Google v srpnu oznámil, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Iniciativa Keep Android Open se to snaží zvrátit. Podepsat lze otevřený dopis adresovaný Googlu nebo petici na Change.org.
Byla vydána nová verze 18 integrovaného vývojového prostředí (IDE) Qt Creator. S podporou Development Containers. Podrobný přehled novinek v changelogu.
Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 2.0. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).
Google Chrome 142 byl prohlášen za stabilní. Nejnovější stabilní verze 142.0.7444.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 20 bezpečnostních chyb. Za nejvážnější z nich bylo vyplaceno 50 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.
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.