EZASP为初学者提供结构化ASP编程支持,提升学习效率。
EZASP - Facilitating the Usage of ASP
- 基于Easy ASP方法构建结构化编程范式
- 自动检测非安全变量并提示代码重构
- 适合编程初学者与需要规范化的开发者
答案集编程(ASP)是一种用于建模和求解复杂组合问题的声明式编程语言,已在多个实际问题中成功应用。然而,由于其与命令式编程在概念上差异显著,且程序无需遵循特定结构,对初学者而言学习门槛较高。最近提出的Easy ASP方法通过限定语言子集并引入程序结构来辅助学习,但目前尚无工具支持该方法。本文提出EZASP,一个集成于Visual Studio Code的扩展,支持按Easy ASP方法编写ASP程序。它扩展了Easy ASP的语言片段,提供偏离规范时的警告,并支持自动重排程序;同时具备语法错误高亮功能,可实时检测非安全变量,并允许用户按需关闭各项功能。在大学教学中的小规模用户研究显示,这些特性对新手和有经验的用户均有益处。
原文摘要 · Abstract (English)
Answer Set Programming (ASP) is a declarative programming language used for modeling and solving complex combinatorial problems. It has been successfully applied to a number of different real-world problems. However, learning its usage can prove challenging as the declarative language, from a conceptual perspective, differs substantially from imperative programming, and programs are not required to adhere to any particular structure, offering arguably almost too much freedom for a beginner. Recently, a new methodology called Easy Answer Set Programming (Easy ASP) has been introduced that aims to aid in this learning process by focussing on a well-defined fragment of the ASP language and introducing additional structure to the programs. However, while this methodology can indeed be employed, to the best of our knowledge, no tool integrates its features currently. In this paper, we present EZASP, a Visual Studio Code extension designed to support the development of ASP programs following the Easy ASP methodology. It covers and extends the language fragment of Easy ASP and provides the user with warnings in the case of deviations from the methodology as well as the possibility to automatically reorder the program. Complementarily, it also adds syntax error highlighting, including detection of non-safe variables directly while editing, and configurability, as all features can be optionally disabled. A small user study in the context of university teaching suggests that these features are benefitial for both new and experienced users.
Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。