WebKit
flex
Our great sponsors
WebKit | flex | |
---|---|---|
150 | 9 | |
7,416 | 3,421 | |
2.5% | - | |
10.0 | 7.8 | |
3 days ago | 12 days ago | |
C | ||
- | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
WebKit
-
HTML Streaming and DOM Diffing Algorithm
Since 2023 Chrome announced the View Transition API, and it looks like Safari is also going to support it soon.
-
Towards memory safety with ownership checks for C
One heap per type.
Here’s an allocator optimized for that use case.
https://github.com/WebKit/WebKit/blob/main/Source/bmalloc/li...
-
Bun, JavaScript, and TCO
To use this in Bun, you’d have to start Bun with the environment variable “BUN_JSC_useDollarVM=1” and then $vm.createBuiltin(mySourceCodeString)
When using this intrinsic, if any of the arguments are incorrect or it cannot otherwise enable it, the entire process will probably crash. In debug builds of JSC it will have a nicer assertion failure but that is not enabled in release builds
Example code: https://github.com/WebKit/WebKit/blob/17351231b4dedb62d81721...
also happy to answer any questions about Bun
-
Show HN: Rem: Remember Everything (open source)
Ah, good, let me introduce you to the wonderful world of the Chrome Devtools Protocol! (fka Chrome Remote Debugging Protocol)
I love this API for almost everything browser related. I built my RBI product atop this (BrowserBox: https://dosyago.com), and I think it's a drastically underrated API.
Also, it works out of the box in Edge, Brave, Chromium, and many parts of CRDP are supported by Firefox and Safari^1
1: See for example: https://github.com/WebKit/webkit/tree/main/Source/JavaScript...
- WebGPU now available for testing in Safari Technology Preview
-
Disabling iOS Personalized Ads tells kernel to kill daemon every 3 seconds
No, it's unrelated.
https://github.com/WebKit/WebKit/commit/064df1a9f395f8c6e32c...
- Apple's Safari browser is still vulnerable to Spectre attacks
-
Replacing WebRTC: real-time latency with WebTransport and WebCodecs
It's being worked on now: https://github.com/WebKit/WebKit/pull/17320
-
iLeakage: Browser-Based Timerless Speculative Execution Attacks on Apple Devices
It is different. The cross-site navigation flag is a couple of years old. It was enabled by default for iOS in November 2018 for example https://github.com/WebKit/WebKit/commit/e191fc8c412850cb9fd0...
-
Show HN: Firefox add-on to open YouTube videos in alternative front ends
> That's excessive scope creep. Adding site-specific workarounds for some sites feels uncomfortable.
Not to Google and its fellow corporations apparently.
https://news.ycombinator.com/item?id=29707078
https://github.com/WebKit/WebKit/blob/main/Source/WebCore/pa...
They have site-specific fixes for their own sites. Why can obviously apply the exact same strategy to dealing with every single website out there. If a website is broken or generally annoying to use, just fix it by providing a site specific version of the browser.
> Who decides what websites get "fixed", and how?
Whoever develops the browser or its extensions. Arguably the whole of uBlock Origin and its filter lists is just a database of site specific fixes. If people can maintain an extremely huge list of advertisers and blockers for every website out there, surely they can maintain something like this too.
> Also, remember how Mozilla is funded.
I remember Mozilla has about a billion dollars in the bank. Who cares about their Google funding? I doubt they're gonna drop them anyway. I bet they pay them just to ward off risk of antitrust lawsuits.
flex
-
How to provide input file for Flex++?
I am using Flex++, which is Flex for C++ and I am having trouble setting the input file. Flex++ uses the FlexLexer class provided in FlexLexer.h to create the lexer object(https://github.com/westes/flex/blob/master/src/FlexLexer.h). In my main function I have
-
Do Regular Expressions only evaluate one line at a time?
Further applications of DFA and NFA: lex or flex, yacc or bison, and POE :-)
-
Cool C projects
How about writing a programming language using Flex and Bison? There are lots of good tutorials and examples out there.
-
Parser and Lexer bike-shedding
Some lexer generators (notably Flex) take input from a file handle by default. While you can always read a file into a string before passing it to the generated lexer, this is not seen as "the best" since you have to read in all the data into memory, which can be a lot.
-
A Good Tool for Resuming Parsers?
Ages ago, I loved writing domain-specific toy languages, and almost always used flex to generate lexers and GNU bison to generate the parser. I've begun a new toy project and I don't think those two will cut it this time, so I'm looking for other tools that integrate well with C++.
-
Please no
I don't understand :c don't lexers like Flex work off of regex rules? Isn't this the correct first step to parse it?
-
A work in progress C compiler from scratch
I wrote a C compiler using flex [1] and bison [2]. The glue between them is a bit hacky.
At some point ANTLR [3] looked promising, but these days I'd probably write a lexer and recursive descent parser by hand, then generate LLVM IR.
-
Dealing with lex and yacc is DIFFICULT so little information is available about them!
github.com/westes/flex/releases
-
Qual’è il commento più assurdo che avete mai trovato nel sorgente di un software?
Un commento in flex, uno storico software, tanto per mostrare che anche i migliori fanno le cose alla buona.
What are some alternatives?
chromium - The official GitHub mirror of the Chromium source
LKI - LKI's dotfiles.
otter-browser - Otter Browser aims to recreate the best aspects of the classic Opera (12.x) UI using Qt5
cpp-peglib - A single file C++ header-only PEG (Parsing Expression Grammars) library
cname-trackers - This repository contains a list of popular CNAME trackers
imp - Imp is a statically typed and compiled scripting language with the goal of increasing programmer confidence.
fingerprintjs - Browser fingerprinting library. Accuracy of this version is 40-60%, accuracy of the commercial Fingerprint Identification is 99.5%. V4 of this library is BSL licensed.
ocean - Programming language that compiles into a x86 ELF executable.
gecko-dev - Read-only Git mirror of the Mercurial gecko repositories at https://hg.mozilla.org. How to contribute: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html
Apollo-11 - Original Apollo 11 Guidance Computer (AGC) source code for the command and lunar modules.
uBlock-Safari - uBlock Origin - An efficient blocker for Chromium, Firefox, and Safari. Fast and lean.
owl - A parser generator for visibly pushdown languages.