From bace8ba4a0c8b80d0ad72edbb3d8eb5328f3ef0f Mon Sep 17 00:00:00 2001
From: j-mie6 The above example shows that the These work fine for the most part, however, there are couple of problems with this:import parsley.combinator.{manyTill}
val comment = string("//") ~> manyTill(item, endOfLine)
-// comment: parsley.Parsley[List[Char]] = parsley.Parsley@62cd4c9
+// comment: parsley.Parsley[List[Char]] = parsley.Parsley@7e221678
comment.parse("// this is a comment\n")
// res0: parsley.Result[String, List[Char]] = Success(List( , t, h, i, s, , i, s, , a, , c, o, m, m, e, n, t))
diff --git a/5.0/api-guide/debug.html b/5.0/api-guide/debug.html
index 096b0b873..1d6c7e045 100644
--- a/5.0/api-guide/debug.html
+++ b/5.0/api-guide/debug.html
@@ -171,7 +171,7 @@
string("hey").debug("hey")
| string("hi").debug("hi")
)
-// hello: parsley.Parsley[String] = parsley.Parsley@26344217
+// hello: parsley.Parsley[String] = parsley.Parsley@7b8c56f2
debug.disableColorRendering()
@@ -243,7 +243,7 @@
debug
("rollback", r1 -> "r1")
}
}
-// p: parsley.Parsley[String] = parsley.Parsley@51478654
+// p: parsley.Parsley[String] = parsley.Parsley@5c7d1943
p.parse("hello world")
// >rollback> (1, 1): hello·
@@ -297,7 +297,7 @@ debugError
("many letterOrDigit")
~> many(char('@').debugError("@")).debugError("many @")
~> char('#').debugError("#")) | char('!').debugError("!")
-// q: parsley.Parsley[Char] = parsley.Parsley@3a93f256
+// q: parsley.Parsley[Char] = parsley.Parsley@160469a6
q.parse("$")
// >many letterOrDigit> (offset 0, line 1, col 1): current hints are Set() (valid at offset 0)
@@ -395,10 +395,10 @@ profiler.summary()
// name self time num calls average self time
// -----------------------------------------------------------------
-// classic string 3412549.2μs 10001 341.220μs
-// voided optimised string 1018.3μs 10000 0.101μs
-// optimised string 9999.2μs 10000 0.999μs
-// voided classic string 3478.9μs 10001 0.347μs
+// classic string 3344730.2μs 10001 334.439μs
+// voided optimised string 927.8μs 10000 0.092μs
+// optimised string 9617.1μs 10000 0.961μs
+// voided classic string 3386.0μs 10001 0.338μs
// -----------------------------------------------------------------
// p: Parsley[Foo] = parsley.Parsley@2ebddd08
string
combinator is much faster than the "classic" definition
in terms of traverse
and char
(not even accounting for its improved error messages!). However,
diff --git a/5.0/api-guide/errors/combinator.html b/5.0/api-guide/errors/combinator.html
index 3707543dc..319098109 100644
--- a/5.0/api-guide/errors/combinator.html
+++ b/5.0/api-guide/errors/combinator.html
@@ -310,7 +310,7 @@ import parsley.errors.combinator.ErrorMethods
val digit = satisfy(_.isDigit).label("digit")
-// digit: parsley.Parsley[Char] = parsley.Parsley@3731a3c8
+// digit: parsley.Parsley[Char] = parsley.Parsley@3dc5367
digit.parse("a")
// res9: parsley.Result[String, Char] = Failure((line 1, column 1):
// unexpected "a"
@@ -328,7 +328,7 @@
@@ -294,7 +294,7 @@ val twoDigits = (digit *> digit).label("two digits")
-// twoDigits: parsley.Parsley[Char] = parsley.Parsley@61980c0c
+// twoDigits: parsley.Parsley[Char] = parsley.Parsley@56910917
twoDigits.parse("a")
// res10: parsley.Result[String, Char] = Failure((line 1, column 1):
// unexpected "a"
diff --git a/5.0/api-guide/errors/patterns.html b/5.0/api-guide/errors/patterns.html
index fe6bb2415..8b60a600e 100644
--- a/5.0/api-guide/errors/patterns.html
+++ b/5.0/api-guide/errors/patterns.html
@@ -184,10 +184,10 @@
// assume that a `lexer` is available
val float = lexer.nonlexeme.floating.decimal
-// float: parsley.Parsley[BigDecimal] = parsley.Parsley@588bbf81
+// float: parsley.Parsley[BigDecimal] = parsley.Parsley@d67ff3b
val _noFloat =
float.verifiedExplain("floating-point values may not be used as array indices")
-// _noFloat: parsley.Parsley[Nothing] = parsley.Parsley@634cb576
+// _noFloat: parsley.Parsley[Nothing] = parsley.Parsley@66bdd22a
_noFloat.parse("hello")
// res0: parsley.Result[String, Nothing] = Failure((line 1, column 1):
@@ -202,11 +202,11 @@ val
int = lexer.nonlexeme.unsigned.decimal
-// int: parsley.Parsley[BigInt] = parsley.Parsley@40e096b2
+// int: parsley.Parsley[BigInt] = parsley.Parsley@378ccfaf
val _noPlus = (char('+') ~> int).verifiedFail { n =>
Seq(s"the number $n may not be preceeded by \"+\"")
}
-// _noPlus: parsley.Parsley[Nothing] = parsley.Parsley@6c386845
+// _noPlus: parsley.Parsley[Nothing] = parsley.Parsley@23382e54
_noPlus.parse("+10")
// res2: parsley.Result[String, Nothing] = Failure((line 1, column 1):
// the number 10 may not be preceeded by "+"
@@ -225,7 +225,7 @@ override
def adjustWidth(x: BigInt, width: Int) = 1
}
}
-// _noPlus: parsley.Parsley[Nothing] = parsley.Parsley@15f1d552
+// _noPlus: parsley.Parsley[Nothing] = parsley.Parsley@4bbd5747
_noPlus.parse("+10")
// res3: parsley.Result[String, Nothing] = Failure((line 1, column 1):
// a number may not be preceeded by "+"
@@ -244,7 +244,7 @@ // _noFloat: parsley.Parsley[Nothing] = parsley.Parsley@65ae37c5
+
// _noFloat: parsley.Parsley[Nothing] = parsley.Parsley@69ab65e7
_noFloat.parse("3.142")
// res4: parsley.Result[String, Nothing] = Failure((line 1, column 1):
@@ -276,11 +276,11 @@ import parsley.errors.patterns.PreventativeErrors
val ident = lexer.nonlexeme.names.identifier
-// ident: parsley.Parsley[String] = parsley.Parsley@396586fe
+// ident: parsley.Parsley[String] = parsley.Parsley@78e7084e
val _noDot = (char('.') ~> ident).preventativeFail { v =>
Seq(s"accessing field $v is not permitted here")
}
-// _noDot: parsley.Parsley[Unit] = parsley.Parsley@27047811
+// _noDot: parsley.Parsley[Unit] = parsley.Parsley@2d808dde
_noDot.parse("hi")
// res5: parsley.Result[String, Unit] = Success(())
_noDot.parse(".foo")
diff --git a/5.0/api-guide/expr/precedence.html b/5.0/api-guide/expr/precedence.html
index f1048e899..06467b0f4 100644
--- a/5.0/api-guide/expr/precedence.html
+++ b/5.0/api-guide/expr/precedence.html
@@ -214,7 +214,7 @@
Ops(InfixL)("*" as Mul),
Ops(InfixL)("+" as Add, "-" as Sub)
)
-// expr: Parsley[Expr] = parsley.Parsley@195d14f4
+// expr: Parsley[Expr] = parsley.Parsley@1c24b545
expr.parse("x+5*y")
// res0: parsley.Result[String, Expr] = Success(Add(Var(x),Mul(Num(5),Var(y))))
SOps(InfixL)("*" as Mul) :+
SOps(InfixL)("+"as Add, "-" as Sub)
}
-// expr: Parsley[Expr] = parsley.Parsley@6aa33150
+// expr: Parsley[Expr] = parsley.Parsley@504d6585
expr.parse("x+5*y")
// res1: parsley.Result[String, Expr] = Success(Add(Var(x),Mul(Num(5),Var(y))))
diff --git a/5.0/api-guide/generic.html b/5.0/api-guide/generic.html
index cc85a740e..25694766c 100644
--- a/5.0/api-guide/generic.html
+++ b/5.0/api-guide/generic.html
@@ -171,7 +171,7 @@
case class Foo(x: Int, y: Int)
// with px, py of type Parsley[Int]
val p = (px, py).zipped(Foo(_, _))
-// p: Parsley[Foo] = parsley.Parsley@6924c11f
+
Foo(_, _)
actually needs to be written as Foo.apply
, which introduces some (minor) noise;
@@ -198,7 +198,7 @@ Parsley values. If we assume that the companion object of
Foo
has been turned into such a
bridge (definition below), the above example can be written as:
val q = Foo(px, py)
-// q: Parsley[Foo] = parsley.Parsley@47d358ca
+// q: Parsley[Foo] = parsley.Parsley@4547e0e2
In this version, the act of constructing the Foo
value has been abstracted behind the bridge, Foo
:
this means that the underlying implementation can vary without changing the parser.
What are Generic Bridges? @@ -270,7 +270,7 @@
val nullLit = NullLit <# "null"
-// nullLit: Parsley[Expr] = parsley.Parsley@347b555d
+// nullLit: Parsley[Expr] = parsley.Parsley@344ee1b5
nullLit.parse("null")
// res2: parsley.Result[String, Expr] = Success(NullLit)
Without any further configuration, notice that the result of parsing "null"
is indeed NullLit
,
@@ -351,7 +351,7 @@
// from `parsley-cats`, produces `NonEmptyList` instead of `List`
import parsley.cats.combinator.sepBy1
val tupleOrParens = TupleOrParens("(" ~> sepBy1(nullLit, ",") <~ ")")
-// tupleOrParens: Parsley[Expr] = parsley.Parsley@370251ec
+// tupleOrParens: Parsley[Expr] = parsley.Parsley@6afd0aef
tupleOrParens.parse("(null)")
// res4: parsley.Result[String, Expr] = Success(NullLit)
tupleOrParens.parse("(null,null)")
diff --git a/5.0/api-guide/state.html b/5.0/api-guide/state.html
index 3dd280f63..bed2b091d 100644
--- a/5.0/api-guide/state.html
+++ b/5.0/api-guide/state.html
@@ -243,9 +243,9 @@ import
parsley.syntax.character.{charLift, stringLift}
val openTag = atomic('<' <~ notFollowedBy('/'))
-// openTag: Parsley[Char] = parsley.Parsley@39d32546
+// openTag: Parsley[Char] = parsley.Parsley@754c45c3
val tagName = stringOfSome(letter)
-// tagName: Parsley[String] = parsley.Parsley@4a1da27
+// tagName: Parsley[String] = parsley.Parsley@2d79cb3b
lazy val content: Parsley[Unit] = optional(tag)
lazy val tag: Parsley[Unit] = (openTag ~> tagName <~ '>').fillRef { name =>
@@ -328,7 +328,7 @@ Verified Error to report a message based on the last opened bracket. The results are below:
val p = brackets
-// p: Parsley[Unit] = parsley.Parsley@5bbd7498
+// p: Parsley[Unit] = parsley.Parsley@4c1e3570
p.parse("()()()")
// res5: parsley.Result[String, Unit] = Success(())
@@ -407,7 +407,7 @@ i
.get <~ eof
}
-// abcs: Parsley[Int] = parsley.Parsley@325edf80
+// abcs: Parsley[Int] = parsley.Parsley@39ddd9b0
abcs.parse("aabbcc")
// res12: parsley.Result[String, Int] = Success(2)
diff --git a/5.0/api-guide/syntax.html b/5.0/api-guide/syntax.html
index f9c28addd..fdf905870 100644
--- a/5.0/api-guide/syntax.html
+++ b/5.0/api-guide/syntax.html
@@ -166,7 +166,7 @@ import parsley.syntax.character._
val p = 'a' ~> "bc"
-// p: parsley.Parsley[String] = parsley.Parsley@1443b889
+// p: parsley.Parsley[String] = parsley.Parsley@7a0a990
p.parse("abc")
// res0: parsley.Result[String, String] = Success(bc)
p.parse("axy")
diff --git a/5.0/api-guide/token/Lexer.html b/5.0/api-guide/token/Lexer.html
index 32512d81d..9c58d62c6 100644
--- a/5.0/api-guide/token/Lexer.html
+++ b/5.0/api-guide/token/Lexer.html
@@ -316,7 +316,7 @@ 345
. For signed
, each of these may be preceded by a +
sign, but this is not required; if positiveSign
is set to PlusSignPresence.Compulsory
, positive literals would always require a +
; and if it is set to PlusSignPrecense.Illegal
, the +
prefix can never be used (but -
is fine regardless). By default, 023
is legal, but this can be
disabled by setting leadingZerosAllowed
to false
.
val num = lexer.lexeme.signed.number
-// num: parsley.Parsley[BigInt] = parsley.Parsley@1f929147
+// num: parsley.Parsley[BigInt] = parsley.Parsley@3e2db3de
num.parse("0")
// res0: parsley.Result[String, BigInt] = Success(x = 0)
num.parse("0xff")
@@ -333,9 +333,9 @@ numericDesc = NumericDesc.plain.copy(
literalBreakChar = BreakCharDesc.Supported('_', allowedAfterNonDecimalPrefix = true))
))
-// lexerWithBreak: Lexer = parsley.token.Lexer@6469f96d
+// lexerWithBreak: Lexer = parsley.token.Lexer@1dfa7379
val withBreak = lexerWithBreak.lexeme.signed.number
-// withBreak: parsley.Parsley[BigInt] = parsley.Parsley@61ea4822
+// withBreak: parsley.Parsley[BigInt] = parsley.Parsley@6ea5427a
withBreak.parse("1_000")
// res4: parsley.Result[String, BigInt] = Success(x = 1000)
withBreak.parse("1_")
@@ -357,7 +357,7 @@ 2000
. Notice that literals do not require a point, so long as they do have
an exponent.
val real = lexer.lexeme.real
-// real: parsley.token.numeric.RealParsers = parsley.token.numeric.LexemeReal@63d65793
+// real: parsley.token.numeric.RealParsers = parsley.token.numeric.LexemeReal@6ed8dfea
real.hexadecimalDouble.parse("0x3.142")
// res7: parsley.Result[String, Double] = Failure(
// ...
@@ -448,9 +448,9 @@ nonlexeme.string
val fullUnicode = stringParsers(aboveSpace)
-// fullUnicode: parsley.token.text.StringParsers = parsley.token.text.ConcreteString@7fe6c98c
+// fullUnicode: parsley.token.text.StringParsers = parsley.token.text.ConcreteString@7a2f3825
val latin1Limited = stringParsers(predicate.Basic(c => c >= 0x20 && c <= 0xcf))
-// latin1Limited: parsley.token.text.StringParsers = parsley.token.text.ConcreteString@4ce1afc9
+// latin1Limited: parsley.token.text.StringParsers = parsley.token.text.ConcreteString@62c9e867
fullUnicode.latin1.parse("\"hello α\"")
// res13: parsley.Result[String, String] = Failure((line 1, column 2):
@@ -518,7 +518,7 @@
val withGaps = stringParsers(escapeDesc = EscapeDesc.plain.copy(gapsSupported = true))
-// withGaps: parsley.token.text.StringParsers = parsley.token.text.ConcreteString@1dda0309
+// withGaps: parsley.token.text.StringParsers = parsley.token.text.ConcreteString@4a464c5b
withGaps.ascii.parse(""""Hello \
\World!" """)
diff --git a/5.0/tutorial/basics-of-combinators.html b/5.0/tutorial/basics-of-combinators.html
index e98996436..27c32a3d4 100644
--- a/5.0/tutorial/basics-of-combinators.html
+++ b/5.0/tutorial/basics-of-combinators.html
@@ -536,10 +536,10 @@ import
parsley.debug._
val p = "abc" | atomic("def") | "dead"
-// p: Parsley[String] = parsley.Parsley@4d0fe454
+// p: Parsley[String] = parsley.Parsley@2e54a9b5
val q = "abc" | (atomic("def".debug("reading def")).debug("backtrack!") |
"dead".debug("reading dead")).debug("branch")
-// q: Parsley[String] = parsley.Parsley@cc372e0
+// q: Parsley[String] = parsley.Parsley@4332ab89
p.parse("dead")
// res37: parsley.Result[String, String] = Success(dead)
@@ -587,9 +587,9 @@
val eof = notFollowedBy(item)
-// eof: Parsley[Unit] = parsley.Parsley@68937bfe
+// eof: Parsley[Unit] = parsley.Parsley@77498b21
val abcOnly = "abc" <~ eof
-// abcOnly: Parsley[String] = parsley.Parsley@29b29246
+// abcOnly: Parsley[String] = parsley.Parsley@15eafa5
abcOnly.parse("abc")
// res39: parsley.Result[String, String] = Success(abc)
@@ -600,7 +600,7 @@
val p = "abc".debug("abc") <~ lookAhead("!!".debug("!!")).debug("lookahead")
-// p: Parsley[String] = parsley.Parsley@2f44dcf9
+// p: Parsley[String] = parsley.Parsley@92a96e1
p.parse("abc!!")
// >abc> (1, 1): abc!!•
diff --git a/5.0/tutorial/effective-whitespace-parsing.html b/5.0/tutorial/effective-whitespace-parsing.html
index cfe670cf8..5859da915 100644
--- a/5.0/tutorial/effective-whitespace-parsing.html
+++ b/5.0/tutorial/effective-whitespace-parsing.html
@@ -206,7 +206,7 @@ import parsley.expr.{precedence, Ops, InfixL}
val number = token(digit.foldLeft1[BigInt](0)((n, d) => n * 10 + d.asDigit))
-// number: Parsley[BigInt] = parsley.Parsley@38e4077
+// number: Parsley[BigInt] = parsley.Parsley@560b024e
lazy val atom: Parsley[BigInt] = "(" ~> expr <~ ")" | number
lazy val expr = precedence[BigInt](atom)(
diff --git a/downloads.html b/downloads.html
index 4bc1b7e11..7eb264e16 100644
--- a/downloads.html
+++ b/downloads.html
@@ -150,7 +150,7 @@ Documentation Downloads
diff --git a/downloads/docs-5.0-768c7e4-SNAPSHOT.pdf b/downloads/docs-5.0-768c7e4-SNAPSHOT.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..96d913c7240dc261c16f9a3da64f586baa633131
GIT binary patch
literal 1071674
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