Articles in tag "Compilation"

2023.07.08: Ungrammar in Go and resilient parsing
2022.09.17: Basic Go tooling for generics
2022.09.03: Parent links in Go ASTs
2022.07.11: Book review: "Crafting Interpreters" by Robert Nystrom
2022.07.09: Exploring function parameter types with Go tooling
2022.06.20: Why is it easy to implement a Lisp?
2022.06.06: Performance of coroutine-style lexers in Go
2022.05.30: Rewriting the lexer benchmark in Rust
2022.05.03: A faster lexer in Go
2022.04.02: Faster sorting with Go generics
2022.03.28: Interface method calls with the Go register ABI
2021.10.02: Rewriting Go source code with AST tooling
2020.09.12: Writing multi-package analysis tools for Go
2019.07.04: Go compiler internals: adding a new statement to Go - Part 2
2019.07.03: Go compiler internals: adding a new statement to Go - Part 1
2017.05.10: Adventures in JIT compilation: Part 4 - in Python
2017.05.01: Adventures in JIT compilation: Part 3 - LLVM
2017.03.22: Adventures in JIT compilation: Part 2 - an x64 JIT
2017.03.20: Adventures in JIT compilation: Part 1 - an interpreter
2016.05.05: On the Composite and Interpreter design patterns
2015.10.16: Directed graph traversal, orderings and applications to data-flow analysis
2015.08.21: C++: Deleting destructors and virtual operator delete
2015.05.18: On parsing C, type declarations and fake headers
2015.04.18: Calling back into Python from llvmlite-JITed code
2015.02.08: Python version of the LLVM tutorial
2015.01.26: Building and using llvmlite - a basic example
2014.11.11: Samples for using LLVM and Clang as a library
2014.07.29: AST matchers and Clang refactoring tools
2014.06.04: Using ASDL to describe ASTs in compilers
2014.05.21: Compilation databases for Clang-based tools
2014.05.01: Modern source-to-source transformation with Clang and libTooling
2014.03.27: Rewriting the lexer benchmark in Go
2014.01.15: Some thoughts on LLVM vs. libjit
2013.11.05: How to JIT - an introduction
2013.09.16: Analyzing function CFGs with LLVM
2013.08.03: pycparser v2.10 released
2013.07.30: pycparser - call for testing before release
2013.07.16: Hand-written lexer in Javascript compared to the regex-based ones
2013.06.25: Regex-based lexical analysis in Python and Javascript
2013.02.25: A deeper look into the LLVM code generator, Part 1
2013.01.03: Assembler relaxation
2012.12.27: pycparser v2.09 released, project moved to BitBucket
2012.11.24: Life of an instruction in LLVM
2012.08.02: Parsing expressions by precedence climbing
2012.07.05: How Clang handles the type / variable name ambiguity of C/C++
2012.06.28: The type / variable name ambiguity in C++
2012.06.08: Basic source-to-source transformation with Clang
2012.02.03: Adventures in parsing C: ASTs for switch statements
2011.07.03: Parsing C++ in Python with Clang
2011.05.02: The context sensitivity of C’s grammar, revisited
2010.10.31: pycparser now supports C99
2010.02.08: Removing epsilon productions from context free grammars
2010.01.28: Generating random sentences from a context free grammar
2010.01.02: Top-Down operator precedence (Pratt) parsing
2009.11.28: Python internals: Working with Python ASTs
2009.05.22: Faking standard C header files for pycparser
2009.05.19: Parsing VHDL is [very] hard
2009.03.20: A recursive descent parser with an infix expression evaluator
2009.03.14: Some problems of recursive descent parsers
2009.02.16: Abstract vs. Concrete Syntax Trees
2008.11.15: pycparser v1.0 is out!
2008.10.18: Implementing cdecl with pycparser
2008.10.14: Parsing C: more on #line directives
2008.10.10: On parsing the C standard library headers
2008.09.26: Recursive descent, LL and predictive parsers
2008.07.11: ASTs for analyzing C
2007.11.24: The context sensitivity of C's grammar
2007.11.15: the answer for parsing C ?
2007.10.02: Analyzing C source code
2005.04.08: C -> Parrot compiler
2004.11.15: considerations in MIXAL parsing
2004.10.24: a VHDL parser in Perl
2004.05.28: bootstrapping parsers
2004.01.29: Parse::RecDescent vs. YACC