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

1"""TraceKit DSL - Domain-Specific Language for trace analysis. 

2 

3Provides a simple, declarative language for defining trace analysis workflows. 

4 

5Example usage: 

6 ```python 

7 from tracekit.dsl import execute_dsl 

8 

9 # Execute DSL script 

10 script = ''' 

11 $data = load "capture.csv" 

12 $filtered = $data | filter lowpass 1000 

13 $rise = $filtered | measure rise_time 

14 ''' 

15 

16 env = execute_dsl(script) 

17 print(f"Rise time: {env['$rise']}") 

18 ``` 

19 

20 Or start interactive REPL: 

21 ```python 

22 from tracekit.dsl import start_repl 

23 start_repl() 

24 ``` 

25""" 

26 

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 

46 

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]