Re: [Seed7-users] Editor Recommendations
Interpreter and compiler for the Seed7 programming language.
Brought to you by:
thomas_mertes
From: Thomas M. <tho...@gm...> - 2021-11-12 08:25:54
|
Hi Duke, Welcome to Seed7. Sorry for the delay. The motherboard of my main computer broke down and it was necessary to get a replacement. Regarding editor recommendations: Up to now there is neither an Emacs mode nor a jEdit syntax file for Seed7. The following things might be used as inspiration: Renato Lenzi wrote a wordfile for Ultraedit (see: doc/seed7.uew) and a syntax definition file for Textpad (see: doc/seed7.syn). The script to create the Seed7 Homepage uses the following definitions to do the syntax highliting: keywordList: "begin", "case", "const", "do", "downto", "else", "elsif", "end", "enum", "for", "forward", "func", "if", "in", "include", "inout", "is", "local", "new", "of", "otherwise", "param", "range", "ref", "repeat", "return", "struct", "sub", "syntax", "system", "then", "to", "until", "val", "var", "when", "while" operatorList: "and", "conv", "digits", "div", "exp", "in", "lpad", "lpad0", "mdiv", "mod", "mult", "not", "or", "parse", "rem", "rpad", "sci", "times", "varConv" abstractTypeList: "array", "func", "hash", "set", "varfunc" typeList: "bigInteger", "bigRational", "bitset", "boolean", "char", "clib_file", "color", "complex", "duration", "expr", "file", "float", "integer", "object", "proc", "program", "rational", "reference", "ref_list", "string", "text", "time", "type", "void", "PRIMITIVE_WINDOW" Regarding the jEdit seed7 mode: Great that you created a jEdit syntax highlighting mode for seed7. It would ge great to add your jEdit syntax file to the Seed7 release (if it is licensed as open source). You asked what programming language does resemble the seed7 syntax most. I would suggest Ada, Modula 2, or Pascal. Regarding Function Declarations: Seed7 functions must be declared before they can be used. So functions must be declared before main() or some other function uses them. Yes, there is something similar to prototyping like in C. If it is not possible to declare a function (e.g. two functions calling each other) a function can be declared forward: const proc: syncFile (in string: sourcePath, in string: destPath, in syncFlags: flags) is forward; You can see that the keyword forward is used instead of the function body. After the forward declaration syncFile() can be used by another function (e.g. in the function syncDir): syncFile(sourcePath & "/" & sourceName, destPath & "/" & destName, flags); Of course, later the real declaration of syncFile() needs to be done. Regarding your October posts: Your October post have not been nuked. I was just too busy with other things. Sorry for the inconveniance again. Regards Thomas |