【问题标题】:Multi functional Standalone Editor for custom language用于自定义语言的多功能独立编辑器
【发布时间】:2015-06-30 12:51:25
【问题描述】:

我被考虑为我的公司语言生成 Editor。如果这个编辑器是独立的会更好。我的时间有限(2.5 周)和知识有限(大学 3 年)。这种语言看起来不像任何其他语言,并且是为特定硬件设计的。我的编辑器必须尽可能多地包含以下功能

    Syntax highlighting
    Indentation 
    Brace Matching 
    Code Folding 
    Error Parsing
    Reformatting 
    Snippets 

我使用以下解析器和词法分析器生成器对以下 IDE 进行了一些研究。

1)NetBeans && JavaCC

问题在于

 *hard to make standalone
 *because syntax and semantic is too different that java like languages
  it  needs to change most of  Java.1.5.jj file.

2)NetBeans 和 ANTLR

 * hard to make standalone again
 * more time consuming because it makes me deal with the thing that already
   done . I have Language syntax and semantics i dont need to build it up 
   again just need to syntax defined language parser and lexer.

3) Eclipse XTEXT

 * it seems me even more time consuming and more labored than others

4) Geany 文件类型

 * I used Geany Filetypes it was good in the beginning. I was able to 
   do snippets, syntax colorings but i could not code blocking 
   because my language does not use "{" and "}" instead use some keywords
   like  **end if** and **end for**
 * The second problem about this choice i must assign in filetype 
   configuration file: lexer_filetype and styling ,but as i mentioned 
   because distinctions with other language i must have its own 
   lexer_filetype and styling

5) Geany 和 scintilla

  * Could not find good tutorial about their cooperation.

我们将不胜感激任何形式的帮助、建议或建议。

【问题讨论】:

  • 你的问题是什么?
  • 选择什么?您对生成自定义语言的编辑器有何建议?
  • 这个问题是广泛的,主要是基于意见的。没有通用的解决方案。花点时间对它们进行全部测试,或者只是尝试一个并解决您可能遇到的问题。没有明确的“是”或“否”或“使用这个”。
  • 至少你知道有什么好的教程可以让我找到 geany 和 scintilla 的合作。
  • 我假设您已经检查过geany.org/manual/current/index.html 不确定您要查找的文档类型。

标签: netbeans editor lexer scintilla geany


【解决方案1】:

根据我的研究,我想出适合我这种情况的人 NetBeans && JavaCC 是比 ANTLR 更好的解决方案,但它也需要大量的改变,而且它是远离独立。其中最接近独立且易于管理且只需少量时间和精力的最好的是最后一个 Geany 和 scintilla

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-15
    • 1970-01-01
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-18
    相关资源
    最近更新 更多