Atoms

parsley.expr.Atoms
case class Atoms[+A](atom0: Parsley[A], atoms: Parsley[A]*) extends Prec[A]

This class is the base of a precedence table.

Forms the base of a precedence table, requiring at least one atom to be provided. This first atom will be parsed first.

Attributes

A

the type of the atoms.

atom0

the first atom found at the root of the precedence table.

atoms

any remaining atoms found at the root of the precedence table.

Since:

4.0.0

Source:
Levels.scala
Graph
Supertypes
trait Product
trait Equals
class Prec[A]
class Object
trait Matchable
class Any

Members list

Concise view

Value members

Inherited methods

final def +:[ >: A, B](ops: Ops[, B]): Prec[B]

This method adds a new layer to this precedence table on the left, in a weakest-to-tightest ordering.

This method adds a new layer to this precedence table on the left, in a weakest-to-tightest ordering.

This method associates to the right (with this table on the right!), so right-most applications are tighter binding (closer to the atoms) than those to the left. It should not be mixed with :+, which would be confusing and less predictable.

Attributes

a weakened version of the type generated by this table, to increase flexibility.

B

the result type of the new table.

ops

the operators that make up the new level on the table.

Returns:

a new table that incorporates the operators and atoms in this table, along with extra ops.

Inherited from:
Prec
Source:
Levels.scala
final def :+[ >: A, B](ops: Ops[, B]): Prec[B]

This method adds a new layer to this precedence table on the right, in a tightest-to-weakest ordering.

This method adds a new layer to this precedence table on the right, in a tightest-to-weakest ordering.

This method associates to the left, so left-most applications are tighter binding (closer to the atoms) than those to the right. It should not be mixed with +:, which would be confusing and less predictable.

Attributes

a weakened version of the type generated by this table, to increase flexibility.

B

the result type of the new table.

ops

the operators that make up the new level on the table.

Returns:

a new table that incorporates the operators and atoms in this table, along with extra ops.

Inherited from:
Prec
Source:
Levels.scala

Attributes

Inherited from:
Product

Attributes

Inherited from:
Product