Skip to content

Commit

Permalink
Add front matter tags.
Browse files Browse the repository at this point in the history
  • Loading branch information
teo-tsirpanis committed Feb 28, 2024
1 parent 8450d29 commit a73d8ed
Show file tree
Hide file tree
Showing 10 changed files with 62 additions and 1 deletion.
6 changes: 6 additions & 0 deletions docs/advanced-features.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
category: Advanced
categoryindex: 2
index: 1
description: Advanced features of Farkle, applicable to less common scenarios.
---
# Advanced features

Farkle has a couple of features that were not covered in other guides because they are less likely to be useful. In this guide, we will take a look at some of these features that truly push Farkle's capabilities to the fullest. So, are you ready? Let's do this!
Expand Down
6 changes: 6 additions & 0 deletions docs/choosing-a-parser.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
category: Documentation
categoryindex: 1
index: 3
description: A guide comparing Farkle with other parsing libraries for F#.
---
# Choosing a parser for your .NET project

Besides Farkle, there are many other general-purpose parsing projects for the .NET ecosystem. Farkle's main competitors are FsLexYacc and FParsec to a lesser degree. In this guide we will examine the strengths and weaknesses of each parser library and help you decide which one to use for your next project. So, are you ready? Let's do this!
Expand Down
6 changes: 6 additions & 0 deletions docs/csharp.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
category: Documentation
categoryindex: 1
index: 2
description: A guide on how to use Farkle from C#.
---
# Using Farkle from C\#

Farkle is a library written in F#, but supporting the much more used C# is a valuable feature. Because these two languages are quite different, there is a more idiomatic API for C# users. In this tutorial, we will assume that you have read [the F# quickstart guide][fsharp].
Expand Down
5 changes: 5 additions & 0 deletions docs/diagnostics/FARKLE0001.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
category: Diagnostic codes
categoryindex: 3
description: FARKLE0001: DFA exceeds maximum number of states
---
## FARKLE0001: DFA exceeds maximum number of states

Certain regular expressions can result in a DFA that has a disproportionately large number of states. For example the regex `[ab]*a[ab]{32}` will result in a DFA with billions of states. In previous versions of Farkle, such regexes would cause the builder to consume large amounts of memory. Starting with Farkle 7 there is a limit on the number of states that a DFA can have. This error is emitted when that limit is reached, in which case no DFA gets built.
Expand Down
7 changes: 6 additions & 1 deletion docs/diagnostics/FARKLE0002.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
## FARKLE0002: Cannot distinguish between symbols
---
category: Diagnostic codes
categoryindex: 3
description: FARKLE0002: Cannot distinguish between symbols
---
## FARKLKE0002: Cannot distinguish between symbols

This error is emitted when the builder detects that two or more symbols cannot always be distinguished from each other because there is a string that matches all of them. For example, the regexes `ab*` and `a+` cannot be distinguished from each other because the string `a` matches both of them.

Expand Down
5 changes: 5 additions & 0 deletions docs/diagnostics/FARKLE0003.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
category: Diagnostic codes
categoryindex: 3
description: FARKLE0003: Regex cannot be matched by any character
---
## FARKLE0003: Regex cannot be matched by any character

This warning is emitted when the builder detects that a regex or a part of it cannot be matched by any character.
Expand Down
8 changes: 8 additions & 0 deletions docs/quickstart.fsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
(**
---
category: Documentation
categoryindex: 1
index: 1
description: A quick start guide to Farkle.
---
*)
(*** hide ***)
#r "nuget: Farkle, 6.5.1"

Expand Down
6 changes: 6 additions & 0 deletions docs/string-regexes.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
category: Documentation
categoryindex: 1
index: 4
description: A reference on Farkle's string regex language.
---
# Farkle's string regexes

In Farkle, terminals are defined by regular expressions or _regexes_. Defining a non-trivial regex used to take several lines of code like this example of a number with an optional sign at the beginning:
Expand Down
6 changes: 6 additions & 0 deletions docs/templates.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
---
category: Advanced
categoryindex: 2
index: 2
description: A guide on how to create and use templates with Farkle.
---
# Templating Reference

Farkle comes with a templating system which further helps developers work with the grammars they create. This system is a more powerful edition of both GOLD Parser's ["Create Webpage"][gold-webpage] and ["Create Skeleton Program"][gold-skeleton] tools. In this guide, we will first see how to create an HTML page describing our grammar, and next we will see how to create our own templates. So, are you ready? Let's do this!
Expand Down
8 changes: 8 additions & 0 deletions docs/the-precompiler.fsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
(**
---
category: Documentation
categoryindex: 1
index: 5
description: A guide on how to use Farkle's precompiler.
---
*)
(*** hide ***)
#r "nuget: Farkle, 6.5.1"

Expand Down

0 comments on commit a73d8ed

Please sign in to comment.