未知
syntax-diagram的Python项目详细描述
详细信息
要使用库,请导入railway_diagram,然后调用railway_diagram.diagram()函数。它的参数是关系图的组成部分(关系图是一种特殊的序列形式)。组件可以是树叶或容器。
树叶:
- 铁路图。终端(文本)或裸字符串-表示文本,ebnf "文本"
- 非终结符(文本)-表示一条指令或另一个产品,ebnf text
- 注释(文本)-注释,ebnf (*文本*)
- skip()-空行
容器:
- railway_diagram.sequence(children)-类似于regex中的简单连接,ebnf s1,s2,…
- 铁路图。选项(索引,子项)-选项列表。index参数指定哪个子项是"normal"选项,应该放在中间,ebnf c1 c2…
- 可选(child,skip)-选项(1,[skip(),child])的简写。如果可选的 skip 参数具有值 "skip" ,则它会将skip()放在直线路径中,因为"正常"行为是省略该项。ebnf [子] 或 子?
- 铁路图。一个或多个(child,repeat)-"repeat"参数是可选的,并指定必须在重复之间进行的操作。ebnf {child} 或 child+
- 铁路图。零或更多(child,repeat,skip)-可选(one或更多(child,repeat))的简写。optional skip 参数与optional()相同。ebnf [{child}] 或 child*
您将在 图表上找到一个 writesvg(writerfunc) 方法,它接受一个参数的回调并将图表的字符串形式传递给它。例如,可以像 图表(…).writesvg(sys.stdout.write) 那样使用它来写入stdout。
< div > 注回调函数在构建字符串时将被多次调用,而不仅仅是一次。如果你一次需要全部,可以考虑用一个类似stringio的简单方法将其收集到一个字符串中。