<commit_before># C Library for Parsing NMEA 0183 Sentences

[![Build Status](https://travis-ci.org/jacketizer/libnmea.svg?branch=master)](https://travis-ci.org/jacketizer/libnmea)
[![Memory Leaks](https://img.shields.io/badge/memory%20leaks-0%20bytes-brightgreen.svg)](https://travis-ci.org/jacketizer/libnmea)
[![License](https://img.shields.io/npm/l/express.svg)](https://raw.githubusercontent.com/jacketizer/libnmea/master/LICENSE)

Libnmea is a lightweight C library that parses NMEA 0183 sentence strings into
structs. It is written in a modular architecture that dynamically loads a parser
module for each implemented sentence type. This way, new sentences can easely
be added to the library without modifying the core code. It is also possible to
statically link the parser modules at build time to enable libnmea to be used in
environments where a dynamic loader isn't available.

If you find any sentence missing, please add it by contributing to the code. I
am open to suggestions regarding the code and architecture, so if you have any
ideas or improvements, please tell me or submit a merge request :-).

[http//nmea.io](http://nmea.io/)

Supported sentences: `GPGLL`, `GPGGA` and `GPRMC`.

## To build

```sh
$ make && make check
```

When running `make`, the library will be built to a local build directory
(*./build*).

## Installation

Run `make install` to install *libnmea*. The files will be installed in */usr/*
by default. Use the environment variable `PREFIX` to set a different
installation prefix.

Ex. to build and install the library and header files locally, in the *./target*
directory, run the following commands:

```sh
$ make
$ PREFIX=target make install
```

## Try it

When the library is built and installed, you can compile the example programs:
<commit_msg>Add GPGSV as supported sentence to README<commit_after># C Library for Parsing NMEA 0183 Sentences

[![Build Status](https://travis-ci.org/jacketizer/libnmea.svg?branch=master)](https://travis-ci.org/jacketizer/libnmea)
[![Memory Leaks](https://img.shields.io/badge/memory%20leaks-0%20bytes-brightgreen.svg)](https://travis-ci.org/jacketizer/libnmea)
[![License](https://img.shields.io/npm/l/express.svg)](https://raw.githubusercontent.com/jacketizer/libnmea/master/LICENSE)

Libnmea is a lightweight C library that parses NMEA 0183 sentence strings into
structs. It is written in a modular architecture that dynamically loads a parser
module for each implemented sentence type. This way, new sentences can easely
be added to the library without modifying the core code. It is also possible to
statically link the parser modules at build time to enable libnmea to be used in
environments where a dynamic loader isn't available.

If you find any sentence missing, please add it by contributing to the code. I
am open to suggestions regarding the code and architecture, so if you have any
ideas or improvements, please tell me or submit a merge request :-).

[http//nmea.io](http://nmea.io/)

Supported sentences: `GPGLL`, `GPGGA`, `GPRMC`, and `GPGSV`.

## To build

```sh
$ make && make check
```

When running `make`, the library will be built to a local build directory
(*./build*).

## Installation

Run `make install` to install *libnmea*. The files will be installed in */usr/*
by default. Use the environment variable `PREFIX` to set a different
installation prefix.

Ex. to build and install the library and header files locally, in the *./target*
directory, run the following commands:

```sh
$ make
$ PREFIX=target make install
```

## Try it

When the library is built and installed, you can compile the example programs:

{'fraction_non_alphanumeric': 0.09873138444567016, 'fraction_numerical': 0.007170435741864313, 'mean_word_length': 4.684952978056426, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 12, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '695760', 'n_tokens_mistral': 1107, 'n_tokens_neox': 1058, 'n_words': 449}