pyk.kast.outer_syntax module

class AST[source]

Bases: ABC

final class Alias(bubble: 'str', label: 'str' = '', att: 'Att' = Att(items=()))[source]

Bases: StringSentence

att: Att = Att(items=())
bubble: str
label: str = ''
class Assoc(value)[source]

Bases: Enum

An enumeration.

LEFT = 'left'
NON_ASSOC = 'non-assoc'
RIGHT = 'right'
final class Att(items: 'Iterable[tuple[str, str]]' = ())[source]

Bases: AST, Sequence[tuple[str, str]]

items: tuple[tuple[str, str], ...]
final class Claim(bubble: 'str', label: 'str' = '', att: 'Att' = Att(items=()))[source]

Bases: StringSentence

att: Att = Att(items=())
bubble: str
label: str = ''
final class Config(bubble: 'str', label: 'str' = '', att: 'Att' = Att(items=()))[source]

Bases: StringSentence

att: Att = Att(items=())
bubble: str
label: str = ''
final class Context(bubble: 'str', label: 'str' = '', att: 'Att' = Att(items=()))[source]

Bases: StringSentence

att: Att = Att(items=())
bubble: str
label: str = ''
final class Definition(modules: 'Iterable[Module]' = (), requires: 'Iterable[Require]' = ())[source]

Bases: AST

modules: tuple[Module, ...]
requires: tuple[Require, ...]
final class Import(module_name: 'str', *, public: 'bool' = True)[source]

Bases: AST

module_name: str
public: bool = True
final class Lexical(regex: 'str')[source]

Bases: ProductionItem

regex: str
final class Module(name: 'str', sentences: 'Iterable[Sentence]' = (), imports: 'Iterable[Import]' = (), att: 'Att' = Att(items=()))[source]

Bases: AST

att: Att
imports: tuple[Import, ...]
name: str
sentences: tuple[Sentence, ...]
final class NonTerminal(sort: 'Sort', name: 'str' = '')[source]

Bases: ProductionItem

name: str = ''
sort: Sort
final class PriorityBlock(productions: 'Iterable[ProductionLike]', assoc: 'Assoc | None' = None)[source]

Bases: AST

assoc: Assoc | None
productions: tuple[ProductionLike, ...]
final class Production(items: 'Iterable[ProductionItem]', att: 'Att' = Att(items=()))[source]

Bases: ProductionLike

att: Att = Att(items=())
items: tuple[ProductionItem, ...]
class ProductionItem[source]

Bases: AST, ABC

class ProductionLike[source]

Bases: AST, ABC

att: Att
final class Require(path: 'str')[source]

Bases: AST

path: str
final class Rule(bubble: 'str', label: 'str' = '', att: 'Att' = Att(items=()))[source]

Bases: StringSentence

att: Att = Att(items=())
bubble: str
label: str = ''
class Sentence[source]

Bases: AST, ABC

final class Sort(name: 'str', args: 'Iterable[int | str]' = ())[source]

Bases: AST

args: tuple[int | str, ...]
name: str
final class SortDecl(name: 'str', params: 'Iterable[str]' = (), args: 'Iterable[str]' = ())[source]

Bases: AST

args: tuple[str, ...]
name: str
params: tuple[str, ...]
class StringSentence[source]

Bases: Sentence, ABC

att: Att
bubble: str
label: str
final class SyntaxAssoc(assoc: 'Assoc', klabels: 'Iterable[str]')[source]

Bases: SyntaxSentence

assoc: Assoc
klabels: tuple[str, ...]
final class SyntaxDecl(decl: 'SortDecl', att: 'Att' = Att(items=()))[source]

Bases: SyntaxSentence

att: Att = Att(items=())
decl: SortDecl
final class SyntaxDefn(decl: 'SortDecl', blocks: 'Iterable[PriorityBlock]' = ())[source]

Bases: SyntaxSentence

blocks: tuple[PriorityBlock, ...]
decl: SortDecl
final class SyntaxLexical(name: 'str', regex: 'str')[source]

Bases: SyntaxSentence

name: str
regex: str
final class SyntaxPriority(groups: 'Iterable[Iterable[str]]')[source]

Bases: SyntaxSentence

groups: tuple[tuple[str, ...], ...]
class SyntaxSentence[source]

Bases: Sentence, ABC

final class SyntaxSynonym(new: 'SortDecl', old: 'Sort', att: 'Att' = Att(items=()))[source]

Bases: SyntaxSentence

att: Att = Att(items=())
new: SortDecl
old: Sort
final class Terminal(value: 'str')[source]

Bases: ProductionItem

value: str
final class UserList(sort: 'str', sep: 'str', non_empty: 'bool' = False, att: 'Att' = Att(items=()))[source]

Bases: ProductionLike

att: Att = Att(items=())
non_empty: bool = False
sep: str
sort: str