flex
ocean

flex | ocean | |
---|---|---|
10 | 9 | |
3,698 | 170 | |
0.9% | - | |
7.6 | 0.0 | |
7 days ago | over 2 years ago | |
C | C | |
GNU General Public License v3.0 or later | BSD 3-clause "New" or "Revised" License |
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.
flex
-
Building Zerocalc, part I - rustc lexer and a lexer in rust
In this post, we will focus on tokenization. There are many ways to do tokenization, including using regular expressions or generating tokenizer code with generators such as flex. But what if we check how rustc's parser does it?
-
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.
[1] https://github.com/westes/flex
-
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.
ocean
- A work-in-progress C compiler from scratch
- Show HN: A work-in-progress C compiler from scratch
-
A work in progress C compiler from scratch
Can't edit my original reply anymore, but fair point, I've changed the keyword 'function' in the AST to a function return type instead. There's no error handling done yet to check whether the variable receiving the function return data matches the function return type, but it's on my todo list.
https://github.com/riicchhaarrd/ocean/commit/0618e0810c8d437...
Then again in C it would work aswell if you type casted the types.
const char *f()
-
Hacker News top posts: Aug 3, 2021
Show HN: A work in progress C compiler from scratch\ (0 comments)
What are some alternatives?
cpp-peglib - A single file C++ header-only PEG (Parsing Expression Grammars) library
imp - Imp is a statically typed and compiled scripting language with the goal of increasing programmer confidence.
libfsm - DFA regular expression library & friends
shecc - A self-hosting and educational C optimizing compiler
LKI - LKI's dotfiles.
ravi-compiler - Parser and compiler for Ravi and Lua
mini-c - Dr Strangehack, or: how to write a self-hosting C compiler in 10 hours
RIOT - RIOT - The friendly OS for IoT
c2compiler - the c2 programming language
owl - A parser generator for visibly pushdown languages.
Cwerg - The best C-like language that can be implemented in 10kLOC.
