# Intro

Libmawk is a fork of mawk 1.3.3, restructured for embedding. This means the user gets libmawk.h and libmawk.so and can embed awk scripting language in any application written in C or in any language that can use libraries written in C.

Libmawk implements a full featured awk dialect with pattern matching, regular expressions, file I/O (that can be controlled by the app to provide a safe/sandboxed environment) and a few extensions.

Libmawk is licensed under the GNU GPL, which affects the license of the application it is linked to. There is a sister project called libfawk, which is a minimalistic awk dialect written from scratch, covered by a BSD license.

# Table Of Contents

## Manual pages

- lmawk(1) - command line implementation
- example(7libmawk) - example on using the library
- libmawk_append_input(3)
- libmawk_call_function(3)
- libmawk_cell_destroy(3)
- libmawk_get_var(3)
- libmawk_initialize(3)
- libmawk_initialize_stage(3)
- libmawk_register_function(3)
- libmawk_run_main(3)
- libmawk_set_cell(3)
- libmawk_uninitialize(3)

## Design decisions

- why not using autotools in libmawk
- portability with scconfig
- semi-dependency on GNU utils
- different numeric types and FPE/NaN