描述问卷的DSL

textx-lang-questionnaire的Python项目详细描述


DSL问卷

用一个简单的终端解释器描述问卷的DSL。在

示例:

Q[type]: Project type
1[lang]. Language project
2[gen]. Generator project

Q[type=lang, extension]: File extension (e.g. "*.que"):
___ /\*\.[a-z0-9]+/

Q[package]: Package name
___ /[a-z][a-z0-9_]*$/

Q: Author name
___

Q: Author email
___

Q: This question is to
   test multiline feature and indenting.
   1. Working
   2. Not working.
      This is also to test multiline in choices.

每个问题的形式是Q:Q[<comma separated terms>]。如果[]与 给定术语,每个术语要么是问题ID,要么是 表单<lhs>=<rhs>,其中<lhs>是对前面问题ID的引用,而 <rhs>是上一个问题的值,必须满足该值 要使用的问题。如果下面的问题取决于 回答。请参阅上面的File extension问题,该问题仅针对语言 项目(因此type=langtype是对上一个问题的引用)。在

问题的类型可以是自由形式(由___指定)或choice if 给出了枚举选项。在

问题和选项都可以跨越多行(就像最后一个问题一样)。在

对于自由形式的问题,可以在//内给出一个可选的正则表达式 (见上文Package name)。这个正则表达式是一个输入验证器。在

此软件包提供了问卷的解释程序 txquestionnaire.questionnaire_interpreter(model, data=None)它接受 使用此语言和 可选的默认答案字典,由任一问题ID(如果给定)键入 或问题编号。口译员将在控制台上运行调查问卷 并返回收集的数据字典。选项的值是序数 如果给定了数字或ID(如上面的Project type,即langgen)中的数字或id。在

请看 tests用于 详细用法。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用导入范围函数下载文件时发生java错误   java是否提供内置的静态字符串。比较方法?   添加“再次播放?”Java中我的随机数猜测游戏的功能   java在tomcat 8中配置JPDA   编译器构造Java:检查编译时是否存在给定的方法名   当RedistreLimiter阻止请求时,java Spring云网关全局筛选器未执行   java无法将带有Gradle的单片Spring Boot应用程序转换为多模块   Eclipse(IDE)如何在没有公共类的情况下在Java中运行main方法?   用Java上传Youtube帖子   没有css和javascript的html Java httpGet页面正文   具有相同哈希代码的java Equal对象不会映射到HashMap中的相同值   字符串格式在Java中如何向数字中添加左填充的零?   java表示XML/DOM对象中attributesvalues或textnodes上的“条件”   JavaSpringJPA根据从POST请求体获取的列和值查询数据库   java BouncyCastle编码差异   java从intellij idea中提取运行命令   java类型、属性、实例和值之间的关系   java除了一个复选框外,屏幕上没有显示任何内容