Skip to content

Commit

Permalink
Minor rewording in README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
rhartert committed May 27, 2024
1 parent 3a3e3a2 commit 7a437de
Showing 1 changed file with 10 additions and 9 deletions.
19 changes: 10 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,23 @@ motivated by the absence of FlatZinc parser in Go.

GoFZN is a [recursive descent parser] with a structure that closely mirrors the
FlatZinc grammar. GoFZN has been entirely handwritten and does not rely on
parser generators like YACC or Bison. Why you'd ask? Because writting top-down
parsers is actually [quite fun]! FlatZinc is a rather simple language (in terms
of grammar that is) and is well-suited for simple top-down handwritten parsers.
Having a handwritten tokenizer and parser also makes it easy to adjust GoFZN
(e.g. to grammar changes) while enabling high-quality error messages in case of
syntax errors.
parser generators like YACC or Bison. Why you'd ask? Because writting tokenizers
and top-down parsers is actually [quite fun]! FlatZinc is a rather simple
language (in terms of grammar that is) and is well-suited for simple top-down
handwritten parsers. Having a handwritten tokenizer and parser also makes it
easy to adjust GoFZN (e.g. to grammar changes) while enabling high-quality
error messages in case of syntax errors.

> ⚠️ While the repository already provides the functionality needed to interface
> with FlatZinc, it is still in its alpha stage and likely to undergo changes.
> However, we do not anticipate these changes to be fundamental.
## What's FlatZinc?

FlatZinc is a subset of [MiniZinc], a high-level constraint modeling language
that allows you to easily express and solve discrete optimization problems.
FlatZinc is particularly used by constraint solvers integrating with MiniZinc.
FlatZinc is a subset of [MiniZinc], a high-level constraint modeling language
designed to easily express and solve discrete optimization problems. Think of
MiniZinc as the language humans use to write models, while FlatZinc serves as
the language constraint solvers use to read and process these models.

## Usage

Expand Down

0 comments on commit 7a437de

Please sign in to comment.