Babel plugin that transforms Lingui compile-time macros into optimized runtime calls
Macro for generating messages in ICU MessageFormat syntax
A simple parser and expander for GraphQL imports
A SWC Plugin for LinguiJS
unified-latex tools relating to specific CTAN packages
Retrieve the values defined with preprocessor statements in a selection of GLSL tokens
An in-place pre-processor for javascript files using C style pre-compile syntax to compose custom builds from npm-packages
Native Abstractions for Node.js: C++ header for Node 0.8 -> 26 compatibility
Decorators for property macros
Tools for manipulating unified-latex ASTs
Ember macro helpers for making your own fancy macros!
> Markdown macros - embed program outputs in markdown
These are eslint rules to help with typed-redux-saga
Tools working with HTML-like nodes via unified-latex ASTs
A Babel Macro for the require-context plugin
Pre-evaluate code at build-time
This package is a modified version of `vue-component-meta` from [vue-language-tools](https://github.com/vuejs/language-tools). It was imported and modified to define a macro to extend component meta (`extendCompodiumMeta`). This macro is used by Compodium
Spectrum UI components in React
Generate code at build-time with babel-macros
Get and set macros created by commandline arguments.
Tools for manipulating unified-latex ASTs
editor-plugin-extension plugin for @atlaskit/editor-core
Macros for SAS Application Developers
A Vite plugin to enable macro support
defstr converts text to a C string literal that parses (by a C compiler) to the original text, and creates a C macro that defines it as a constant. The liternal preserves the original text's structure (line breaks, paragraphs, etc). defstr can be used as a tool for C/C++ code generation.
asciidoctor-bibtex is an Asciidocotor extension that adds bibtex support for AsciiDoc documents. It does so by introducing two new macros: `cite:[KEY]` and `bibliography::[]`. Citations are parsed and replaced with formatted inline text, and reference lists are automatically generated and inserted where the `bibliography::[]` macro is placed. The references are formatted using styles provided by CSL.
RubyMacros is a lisp-like macro pre-processor for Ruby. More than just a purely textual substitution scheme, RubyMacros can manipulate and morph Ruby parse trees (in the form of RedParse Nodes) at parse time in just about any way you see fit. Macros are programmed in ruby itself. And since parse trees are represented in RedParse format, they're easier to use (programatically) and more object- oriented than other available ruby parsetree formats. (RedParse Node format is actually designed to be straightforward to use and to represent the structure of ruby source code very closely.)
# Excel to Code [](https://travis-ci.org/tamc/excel_to_code) excel_to_c - roughly translate some Excel files into C. excel_to_ruby - roughly translate some Excel files into Ruby. This allows spreadsheets to be: 1. Embedded in other programs, such as web servers, or optimisers 2. Without depending on any Microsoft code For example, running [these commands](examples/simple/compile.sh) turns [this spreadsheet](examples/simple/simple.xlsx) into [this Ruby code](examples/simple/ruby/simple.rb) or [this C code](examples/simple/c/simple.c). # Install Requires Ruby. Install by: gem install excel_to_code # Run To just have a go: excel_to_c <excel_file_name> This will produce a file called excelspreadsheet.c For a more complex spreadsheet: excel_to_c --compile --run-tests --settable <name of input worksheet> --prune-except <name of output worksheet> <excel file name> See the full list of options: excel_to_c --help # Gotchas, limitations and bugs 0. No custom functions, no macros for generating results 1. Results are cached. So you must call reset(), then set values, then read values. 2. It must be possible to replace INDIRECT and OFFSET formula with standard references at compile time (e.g., INDIRECT("A"&"1") is fine, INDIRECT(userInput&"3") is not. 3. Doesn't implement all functions. [See which functions are implemented](docs/Which_functions_are_implemented.md). 4. Doesn't implement references that involve range unions and lists (but does implement standard ranges) 5. Sometimes gives cells as being empty, when excel would give the cell as having a numeric value of zero 6. The generated C version does not multithread and will give bad results if you try. 7. The generated code uses floating point, rather than fully precise arithmetic, so results can differ slightly. 8. The generated code uses the sprintf approach to rounding (even-odd) rather than excel's 0.5 rounds away from zero. 9. Ranges like this: Sheet1!A10:Sheet1!B20 and 3D ranges don't work. Report bugs: <https://github.com/tamc/excel_to_code/issues> # Changelog See [Changes](CHANGES.md). # License See [License](LICENSE.md) # Hacking Source code: <https://github.com/tamc/excel_to_code> Documentation: * [Installing from source](docs/installing_from_source.md) * [Structure of this project](docs/structure_of_this_project.md) * [How does the calculation work](docs/how_does_the_calculation_work.md) * [How to fix parsing errors](docs/How_to_fix_parsing_errors.md) * [How to implement a new Excel function](docs/How_to_add_a_missing_function.md) Some notes on how Excel works under the hood: * [The Excel file structure](docs/implementation/excel_file_structure.md) * [Relationships](docs/implementation/relationships.md) * [Workbooks](docs/implementation/workbook.md) * [Worksheets](docs/implementation/worksheets.md) * [Cells](docs/implementation/cell.md) * [Tables](docs/implementation/tables.md) * [Shared Strings](docs/implementation/shared_strings.md) * [Array formulae](docs/implementation/array_formulae.md)