ebnf2yacc is a tool to help write yacc parsers/compilers. It takes as input a
grammar written in ebnf, and outputs a c++ abstract syntax tree that supports
the visitor pattern, along with a yacc file to build the tree.
Written in Scheme only, this adds input line editing feature to
Gauche. Assumes VT100 compatible terminal capability.
FSF binutils/gcc/gdb toolchain for ARM Cortex-M & Cortex-R
processors (Cortex-M0/M0+/M3/M4, Cortex-R4/R5/R7).
This port brings C and C++ compilers. Gloss and libc layer
are provided through newlib embedded C library.
This is complete package prepated by "GNU Tools for ARM Embedded
Processors" project (which is maintained by ARM company itself).
It includes:
binutils
gcc 5.3 with LTO and GRAPHITE support.
newlib optimized for speed
newlib-nano optimized for
two versions of libstdc++, optimized for speed and size.
gdb without sim.
All this is built with support for armv6-m, armv7-ar,
armv7-m and armv7e-m targets, armv7e-m with and without
FPU support and armv8-m too.
This port gives bit-to-bit compatibility with "official"
embedded ARM toolchain for MacOS X, Linux and Windows.
DrIFT is a type sensitive preprocessor for Haskell. It extracts type
declarations and directives from modules. The directives cause rules to
be fired on the parsed type declarations, generating new code which is
then appended to the bottom of the input file. The rules are expressed
as Haskell code, and it is intended that the user can add new rules as
required. DrIFT automates instance derivation for classes that aren't
supported by the standard compilers. In addition, instances can be
produced in separate modules to that containing the type declaration.
This allows instances to be derived for a type after the original module
has been compiled. As a bonus, simple utility functions can also be
produced from a type.
This library defines an Interpreter monad. It allows to load Haskell
modules, browse them, type-check and evaluate strings with Haskell
expressions and even coerce them into values. The library is
thread-safe and type-safe (even the coercion of expressions to values).
It is, essentially, a huge subset of the GHC API wrapped in a simpler
API.
hc12mem is a command line tool for embedded microcontroller developers using
Freescale's HCS12-family MCUs.
It can:
- erase/read/write/protect internal EEPROM memory
- erase/read/write internal FLASH memory
- protect/unprotect whole MCU
Supported MCUs: almost every HCS12 derivative
<MC9S12> A32, A64, A128, A256, A512, C32, C64, C96, C128,
GC16, GC32, GC64, GC96, GC128, D32, D64, D128, D256, D512,
E32, E64, E128, E256, H128, H256, UF32, NE64.
Supported target connections:
- BDM:
- Daniel Malik's TDBML (Turbo BDM Light) USB POD
- Kevin Ross's BDM12 POD
- Marek Peca's PODEX
- my own improved version of PODEX with firmware bugfixes
- LRAE (Load RAM And Execute) serial bootloader
see Freescale's Application Note AN2546
- Freescale's HCS12 MCU serial monitor
see Freescale's Application Note AN2548
Provides an 'mtl' compatible version of the 'GhcT' monad-transformer
defined in the 'GHC-API' since version 6.10.1.
Language C is a Haskell library for the analysis and generation of C
code. It features a complete, well tested parser and pretty printer for
all of C99 and a large set of GNU extensions.
Compatibility with the old-time package for the "new" time package.
This is a drop-in alternative to the standard PHP JSON extension.