Byla vydána nová verze 3.22.0 grafického vývojového prostředí a platformy Gambas (Wikipedie) založené na interpretru programovacího jazyka Basic s rozšířením o objektově orientované programování. Přehled novinek v poznámkách k vydání. Zdrojové kódy jsou k dispozici na GitLabu.
FreeBSD odstranilo poslední GPL kód ze základního systému. Konkrétně dpv, libdpv, libfigpar a dialog. Instalátor před čtyřmi lety přešel z dialogu na bsddialog.
Sociální síti 𝕏 (dříve Twitter) má dnes 20 let. Pro veřejnost byla zpřístupněna 15. července 2006.
Insula Faktury je open source generátor faktur, který běží přímo ve webovém prohlížeči. Žádná registrace, žádné sledování, žádné omezení. Zdrojové kódy jsou k dispozici na Codebergu.
První Mobile Linux Hackday v Plzni, tj. komunitní setkání věnované Linuxu na mobilních zařízeních, proběhne 24. července od 10:00. Akce je otevřená všem zájemcům – od zvědavců po zkušené vývojáře. Dopoledne proběhnou přednášky Davida Heidelberga a Petra Hodiny o aktuálním stavu mobilního Linuxu: proč vůbec chtít tučňáka v kapse, jaké telefony jsou dnes dobře podporované a co taková podpora obnáší. Po obědě se zaměříme na konkrétní
… více »3D software Blender byl vydán ve verzi 5.2 s prodlouženou podporou. Videopředstavení na YouTube.
SketchForge 3D (GitHub, reddit) je open source 3D editor / CAD běžící ve webovém prohlížeči bez nutnosti účtu nebo cloudového úložiště. Inspirovaný byl Tinkercadem. Doporučena je lokální instalace.
Byla vydána nová verze 11.9 webového prohlížeče Midori (Wikipedie, GitHub). S novým centrem ovládání, pokročilejším blokováním reklam, optimalizací výkonu…
Na Crowd Supply běží kampaň na podporu open source čtečky elektronických knih Open Book Touch. Postavena je na ESP32-S3. Má 4,26palcový dotykový e-papírový displej s rozlišením 480×800 pixelů, podsvícení, slot na microSD kartu. Cena je 149 dolarů a poštovné 12 dolarů. Dodání je plánováno na duben 2027.
Na Humble Bundle běží akce Linux: All the Things by O'Reilly a Picos, HATs, and More by Raspberry Pi Press. Elektronické knihy lze koupit se slevou a současně podpořit organizace Code for America a Raspberry Pi Foundation.
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.