Coverage for src / tracekit / dsl / __init__.py: 100%
5 statements
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-11 23:04 +0000
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-11 23:04 +0000
1"""TraceKit DSL - Domain-Specific Language for trace analysis.
3Provides a simple, declarative language for defining trace analysis workflows.
5Example usage:
6 ```python
7 from tracekit.dsl import execute_dsl
9 # Execute DSL script
10 script = '''
11 $data = load "capture.csv"
12 $filtered = $data | filter lowpass 1000
13 $rise = $filtered | measure rise_time
14 '''
16 env = execute_dsl(script)
17 print(f"Rise time: {env['$rise']}")
18 ```
20 Or start interactive REPL:
21 ```python
22 from tracekit.dsl import start_repl
23 start_repl()
24 ```
25"""
27from tracekit.dsl.commands import BUILTIN_COMMANDS
28from tracekit.dsl.interpreter import Interpreter, InterpreterError, execute_dsl
29from tracekit.dsl.parser import (
30 Assignment,
31 Command,
32 Expression,
33 ForLoop,
34 FunctionCall,
35 Lexer,
36 Literal,
37 Parser,
38 Pipeline,
39 Statement,
40 Token,
41 TokenType,
42 Variable,
43 parse_dsl,
44)
45from tracekit.dsl.repl import REPL, start_repl
47__all__ = [
48 # Commands
49 "BUILTIN_COMMANDS",
50 # REPL
51 "REPL",
52 # AST nodes
53 "Assignment",
54 "Command",
55 "Expression",
56 "ForLoop",
57 "FunctionCall",
58 # Interpreter
59 "Interpreter",
60 "InterpreterError",
61 # Parser
62 "Lexer",
63 "Literal",
64 "Parser",
65 "Pipeline",
66 "Statement",
67 "Token",
68 "TokenType",
69 "Variable",
70 "execute_dsl",
71 "parse_dsl",
72 "start_repl",
73]