knitout_interpreter.knitout_language package
knitout_language: Parsing and grammar support for knitout files.
This module provides the parsing infrastructure for knitout files, including grammar definitions, parser actions, and execution context management. It handles the conversion from raw knitout text files into structured Python objects thatcan be executed on virtual knitting machines.
- Key Components:
Knitout_Parser: Main parser class using Parglare for grammar-based parsing
parse_knitout: Convenience function for parsing knitout files or strings
Knitout_Context: Manages the state and context during knitout execution
knitout_actions: Parser action functions that convert grammar matches to objects
Grammar files: <knitout.pg> and <knitout.pgt> contain the formal grammar definition
- Parsing Process:
Raw knitout text is tokenized according to the grammar.
Parser actions convert tokens into instruction objects.
Context manager organizes instructions into executable sequences.
Instructions can be executed on virtual knitting machines.
- Grammar Support:
The parsing is based on a formal grammar definition that supports: - All knitout v2 specification instructions - Header declarations (machine, gauge, yarn, carriers, position) - Comments and version specifications - Proper error handling and reporting
Submodules
- knitout_interpreter.knitout_language.Knitout_Context module
process_knitout_instructions()
Knitout_Context
Knitout_Context.machine_state
Knitout_Context.executed_header
Knitout_Context.executed_instructions
Knitout_Context.version
Knitout_Context.execute_header()
Knitout_Context.execute_instructions()
Knitout_Context.execute_knitout()
Knitout_Context.process_knitout_file()
Knitout_Context.execute_knitout_instructions()
- knitout_interpreter.knitout_language.Knitout_Parser module
- knitout_interpreter.knitout_language.knitout_actions module
comment()
code_line()
magic_string()
header_line()
machine_op()
gauge_op()
yarn_op()
carriers_op()
position_op()
in_op()
inhook_op()
releasehook_op()
out_op()
outhook_op()
rack_op()
knit_op()
tuck_op()
miss_op()
kick_op()
split_op()
drop_op()
xfer_op()
pause_op()
identifier()
float_exp()
int_exp()
needle_id()
carrier_set()