esmeta.spec

package esmeta.spec

Type members

Classlikes

case
class AbstractOperationHead(isHostDefined: Boolean, name: String, params: List[Param], retTy: Type) extends Head

abstract operation (AO) heads

abstract operation (AO) heads

case
class Algorithm(head: Head, elem: Element, body: Step, code: String) extends SpecElem

abstract algorithms in ECMA-262

abstract algorithms in ECMA-262

case
class BuiltinHead(ref: Ref, params: List[Param], retTy: Type) extends Head

built-in heads

built-in heads

Companion
object
Companion
class
case
class ButNot(base: Nonterminal, cases: List[Symbol]) extends Symbol

butnot symbols

butnot symbols

case
class ButOnlyIf(base: Nonterminal, methodName: String, cond: String) extends Symbol

but-only-if symbols

but-only-if symbols

case
class CodePointAbbr(abbr: String) extends Symbol

symbols for code point abbreviations

symbols for code point abbreviations

case
class ConcreteMethodHead(methodName: String, receiverParam: Param, params: List[Param], retTy: Type) extends Head

concrete method heads

concrete method heads

case
object Empty extends Symbol

empty symbols

empty symbols

case
class Grammar(prods: List[Production], prodsForWeb: List[Production]) extends SpecElem

ECMAScript grammars

ECMAScript grammars

sealed
trait Head extends SpecElem

algorithm heads

algorithm heads

case
class InternalMethodHead(methodName: String, receiverParam: Param, params: List[Param], retTy: Type) extends Head

internal method heads

internal method heads

case
class Lhs(name: String, params: List[String]) extends SpecElem

left-hand-sides (LHSs) of productions

left-hand-sides (LHSs) of productions

Companion
object
object Lhs extends From[Lhs]
Companion
class
case
class Lookahead(contains: Boolean, cases: List[List[Symbol]]) extends Symbol

lookahead symbols

lookahead symbols

case
object NoLineTerminator extends Symbol

no-line-terminator symbols

no-line-terminator symbols

case
class Nonterminal(name: String, args: List[NtArg], optional: Boolean) extends Symbol

nonterminal symbols

nonterminal symbols

Companion
object
Companion
class
case
class NumericMethodHead(ty: Type, name: String, params: List[Param], retTy: Type) extends Head

numeric method heads

numeric method heads

case
class Param(name: String, kind: Kind, ty: Type) extends SpecElem

algorithm parameters

algorithm parameters

Companion
object
object Param
Companion
class
case
class Production(lhs: Lhs, kind: Kind, oneof: Boolean, rhsList: List[Rhs]) extends SpecElem

productions for ECMAScript grammars

productions for ECMAScript grammars

Companion
object
object Production extends From[Production]
Companion
class
case
class Rhs(condition: Option[RhsCond], symbols: List[Symbol], id: Option[String]) extends SpecElem

alternatives or right-hand-sides (RHSs) of productions

alternatives or right-hand-sides (RHSs) of productions

Companion
object
object Rhs extends From[Rhs]
Companion
class
case
class Spec(version: Option[Version], grammar: Grammar, algorithms: List[Algorithm], tables: Map[String, Table], typeModel: TypeModel, document: Document) extends SpecElem

ECMAScript specifications (ECMA-262)

ECMAScript specifications (ECMA-262)

Companion
object
object Spec
Companion
class
trait SpecElem

specification elements

specification elements

sealed
trait Symbol extends SpecElem

symbols in ECMAScript grammars

symbols in ECMAScript grammars

Companion
object
object Symbol extends From[Symbol]
Companion
class
case
class SyntaxDirectedOperationHead(target: Option[SdoHeadTarget], methodName: String, isStatic: Boolean, withParams: List[Param], retTy: Type) extends Head

syntax-directed operation (SDO) heads

syntax-directed operation (SDO) heads

Companion
object
case
class Table(id: String, header: List[String], rows: List[List[String]]) extends SpecElem
case
class Terminal(term: String) extends Symbol

terminal symbols

terminal symbols

case
class Type(name: String) extends SpecElem
Companion
object
object Type extends From[Type]
Companion
class
case
class TypeInfo(parent: Option[String], methods: Map[String, String])

type information

type information

case
class TypeModel(infos: Map[String, TypeInfo])

type modeling

type modeling

Companion
object
object TypeModel
Companion
class
case
class UnicodeSet(cond: Option[String]) extends Symbol

symbols for sets of unicode code points with a condition

symbols for sets of unicode code points with a condition

Types

type NtArg = Arg

helpers for nonterminal arguments

helpers for nonterminal arguments

helpers for nonterminal arguments

helpers for nonterminal arguments

Value members

Concrete fields

val NtArg: Arg
final lazy

ordering of productions

ordering of productions