Flex/Bison IDE? [closed] - ide

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I'm looking for a good development environment in which to work on flex or bison or both.
Are there any IDE's that have these capabilities and/or are suitable for this?
(If not the next most general question is are there lexer/parser generators with IDE's?)
Thanks
~Alex

Vim has excellent syntax highlighting support for flex / lex and bison / yacc files. Vim seems to guess from file extensions, so as long as my flex files end in .l or .lex and my bison files end in .y, it seems to work fine. I know, it's barely an IDE, but I find the syntax highlighting to be the most helpful feature for me.

ANTLR has several IDEs available, including one I wrote. By user count, ANTLRWorks is probably the most used. Mine has fewer overall features, but I use it extensively because it integrates so cleanly with my Visual Studio work. ANTLR's grammar syntax is clean and very powerful, generates code for many languages, and its generated lexers/parsers are clean, debuggable code.
Edit to address concerns in the comments:
Commercial documentation for ANTLR exists and is recommended by many, but is certainly not required. The nFringe IDE product (commercial/closed source) I worked on uses ANTLR extensively and was developed completely without the aid of the ANTLR reference book.
ANTLRWorks 1.x development is slow, but not stopped. There are currently no open issues, and two significant issues have been fixed since the latest 1.5 release.
ANTLRWorks 2 is a completely different product and was written from scratch. A separate issue tracker is available for this product.

Personally I use Gedit it has a native lex/flex yacc/bison highlighting

If you are comfortable in emacs, I would suggest these modes:
http://ftp.lip6.fr/pub/emacs/elisp-archive/incoming/bison-mode.el.gz
http://ftp.lip6.fr/pub/emacs/elisp-archive/incoming/flex-mode.el
Keep in mind that both are very buggy, but after a while I figured out most of the quirks to get the indentation working.
An example .emacs that loads these modes: http://www.elliotglaysher.org/emacs/

Just found GOLD Parsing System. It's not Flex/Bison, but if something similar is acceptable this seems to be a great IDE, and there's great getting-started documentation on the web site.

Visual studio has good support for flex/bison,
https://sourceforge.net/p/winflexbison/wiki/Visual%20Studio%20custom%20build%20rules/
To summarize, you'll need install win_flex_bison, the GNUWin port of flex and bison, and set visual studio's custom build rule using 'targets' file present along with the port, set exe path in VC++ directories settings; then it be built and debugged as usual cpp files.

Related

Is there an Intellij plugin for Perl 6? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
I am looking for a Perl 6 plugin for JetBrains editors like IntelliJ IDEA, PyCharm or PhpStorm.
Connected issue:
https://github.com/Camelcade/Perl5-IDEA/issues/1554
Can anyone can recommend something? Or should I try a different IDE?
Now syntax is wrongly highlighted because I use the plugin for Perl 5
I can't speak for IntelliJ editors (of which I have heard great things by my colleagues).
Vim works well
Vim has built-in support for Perl 6. I used to hate vim, until I saw an experienced user demonstrate it. You can move, copy, paste, search and replace, and so forth without touching a mouse or having to scroll through a menu. I haven't turned back since. For me, it has really been worth the time and effort to learn.
But I must warn you that Vim may not work well for you if you are not a touch typist. Vim really stands out because it takes advantage of reflexes (i.e. "muscle memory"). You think about moving your cursor up and your fingers reflexively hit k without thinking about it. You want to copy a line, so you hit yy without even thinking about it. It's the closest thing to a brain-computer interface without having to undergo surgery. It just takes some initial effort to start learning it and customizing it.
examples
When code is very cleanly written, it tends to look nice:
But, sometimes Vim does have a problem parsing Perl 6 and coloring correctly, especially if there is a lot of syntax in the same line. These cases tend to be less human-friendly anyway. When I noticed the following inconsistent syntax coloring, I refactored the code to be the more human-friendly (and Vim friendly) style seen above.
Since only Perl 6 can fully parse Perl 6, I would expect that there to be sometimes that most editors would have difficulties with the syntax highlighting for Perl 6. Please comment or add other answers if you find editors that do better than Vim in this regard.
And sometimes Vim will temporarily color the syntax funny, but scrolling up and down will give it a chance to correct itself.
UPDATE: Now there is an IntelliJ plugin, see Jonathan Worthington's answer about Comma.
Comma is a Perl 6 IDE built on the IDEA platform, and also comes as a plugin to be used with IntelliJ and similar. It's currently in early BETA, and available to those who join its supporter program.

Looking for OCaml IDE [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I like F# but sometimes I need something light and cross-platform and without .NET for sure.
I tried to use OCamL many times but seems like I just can't start it.
Installed IDEA, added OCamL plugin -> Doesn't work
Installed eclipse ODT plugin -> Can't launch even config OCamL compiler - too complicated
Even had tried NetBeans plugin a long time ago but even can't deal with it.
So, for now, I'm using ocamlc -o "main.exe" "main.ml" from the command shell and different light editors. I don't use Vim or Emacs, I'm using nano and I have a habit of usage full-featured IDEs.
I found various documentation (this is looking like the best to start http://caml.inria.fr/pub/docs/oreilly-book/html/index.html for me) but still being confusing when looking for something a bit specific alike sqlite access. found this: http://neugierig.org/software/ocaml/sqlite/ with strange api annotation and no examples. And all the documentation about IDE usage I found are outdated or doesn't work.
Addition subquestion: some people told me "don't use OCamL, it's a dead language for students with low libraries support and seems like dying, use python or ruby instead". But I like the beauty of OCamL. I want to give it a try. Tell me if that is normal to use OCamL for production code today?
thank you.
There is TypeRex, a new development environment for OCaml. Here is a summary of TypeRex features:
Improved syntax coloring
Auto-completion of identifiers (experimental)
Browsing of identifiers: show type and comment, go to definition, cycle between alternate definitions, and semantic grep;
Strictly semantic-preserving, local and whole-program refactoring:
renaming identifiers and compilation units
open elimination and reference simplification
Robust w.r.t. not-recompiled, possibly unsaved buffers
Scalable (used regularly on a few hundreds of source files)
There are some screenshots available on the website. The first release candidate is out since yesterday.
EDIT: The first release (v1.0) is out now :-)
There are a few options:
Tuareg for emacs was already mentioned: http://tuareg.forge.ocamlcore.org/
vim has a few options for OCaml integration, with one good example available here: http://www.ocaml.info/software.html#vim
OcaIDE seems to be the best option for Eclipse: http://www.algo-prog.info/ocaide/
Geany, Komodo Edit and a number of other editors have syntax highlighting support for OCaml and some extra IDE-like features which are independent of the programming language being used. Most of these have limited OCaml-specific support.
OCaml is not dead. Some of the more vocal industry users of OCaml are XenSource/Citrix and Jane St. Capital. The language does not receive the same public and community evangelism that some other languages receive.
It's been years, but I really liked emacs' tuareg mode http://tuareg.forge.ocamlcore.org/
But if you're afraid of emacs, then it's not the right tool.
I specially like the shell integration and the possibility to "throw" a function you're developping in the shell and then test it.
EDIT For the subquestion, OCaml seems dead, and it's a pitty. However you cannot compare it with ruby/python. I'd say it's main competitor is Haskell which seems to be growing in popularity.
Googling "ocaml ide" shows now http://camelia.sourceforge.net/ as the first result. Haven't tested it though, so I can't really say if it is recommendable or not.

Best Fortran IDE [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
Is there anybody using Fortran on stackoverflow? What IDE do you use and which one do you think to be the best?
Seems lots of people surround me are quite inconvenient with Intel Visual Fortran. Because there is no support for intellisense, refactoring, etc.
What about these ones:
Photran - An Integrated Development Environment and Refactoring Tool for Fortran (this one is everything you need :D)
Oracle Solaris Studio Advanced C, C++ and Fortran development platform
Well, as others already mentioned you could use instead of an IDE a separate text editor. Several come to mind;
VIM (or one of the family) - great editing capabilities, very customizable. Unfortunatelly, it is still an editor
not an IDE. It can be customized in a variety of ways of course, but that gets boring after a while. Also, it's syntax highlighting capabilities are somewhat wrongly made. Also has some problems/confusions with free/fixed format and f77/f90/f95 ...
Emacs - pretty much same advantages/shortcomings as the above.
SlickEdit - has very nice fortran support; unfortunatelly, modifying it is a little annoying and the support forums are not much help.
In general, editors like the above mentioned can be used, but in that case it is best to choose one from the start and stick to it; modifying your work habits as you go; since customizing everything can be time consuming to suit your needs.
Most editors have problems with fortran's syntax, since they're used to C's (where everything that "opens" has a "close").
As far as IDE's goes, your options are not that great:
Silverfrost's compiler used to come with it's own IDE (Plato, if I do remember correctly; it's been a while) - don't know what happened to it, and whether it still is "alive"
Absoft has one of it's own as well (never used it so ...)
There was a specialized fortran editor I once encountered; ya...something; unfortunatelly I cannot remember it's name; maybe someone else will know
One of the best options (which I used to use myself, so I may be biased) is Visual Studio + Resharper, which will add a few editing features to VS's editor. Most of them can also be accomplished with macros.
This post could use some editing but it is written in a hurry, so ...
Geany is nice too. I use it for my small projects in Fortran. Works pretty good too.
http://www.geany.org/
I've never used it, but according to the documentation, the NetBeans C/C++ plugin also adds support for Fortran. I use NetBeans as my IDE for everything except .NET development and love it. If Fortran support is half as good as support for C, C++, Java, Python, Ruby, and PHP, then it is worth looking at.
Many Fortran developers use text editors plus some build automation tool like CMake or SCons. Partially because of lack of well-featured IDE.
However there are some projects. I've tried Photran, Fortran IDE for Eclipse. It has limited support for autocomplete and refactoring.
Also take a look at Code::Blocks IDE for Fortran. I do not like Code::Blocks...
We use an in-house extension to visual studio to get code completion for our fortran code and to assist us with debugging. But even so there is a lot of room for improvement. Our main issues are:
instability of visual studio. An error in the debugged program can crash VS.
sometimes VS shows corrupted stacktraces (while WinDBG shows it correctly).
debugger wont show values of variables of type CHARACTER(LEN=:), ALLOCATABLE
Edit and Continue not supported
We used Sun workshop and it was very good, but there is no windows version.
jedit has a nice fortran mode and you can define keybindings for the compiler and debugger.
for small to medium sized projects it is quite nice. it also has svn and multiple files search. also very nice is hypersearch where you get a list of you matches and you can go to the position with a single click. another goodie is a plugin for gdb and for ctags. you can very easily script all functions using jython. it feels a little bit like a modern version of emacs that uses python instead of lisp. check out the plugin manager. it lets you download all the plugins from the server and installs them for you (like in eclipse).
http://www.jedit.org

Professional VHDL IDE? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Is there a good IDE to work with VHDL projects ?
Or are most of the professionals working with emacs/vim/notepad++ ?
I use Emacs+VHDL-mode which is great if you don't mind (or have already climbed) the learning curve of Emacs.
Alternatively, you could try Sigasi-HDT which is Eclipse-based and has more GUI. And some more powerful refactoring tools by the look of it.
I have been using Sigasi HDT since it was released in january (I think) and am very pleased with it so far. Previously I used Vim for all my editing (C or VHDL), but since I switched to Sigasi I have not looked back. The Eclipse based plugin is much more than just syntax highlighting. The auto-completion of components and entities is a real time-saver and you avoid a lot of errors. You can download a free trial from their website (http://www.sigasi.com) and I encourage you to give it a try with grlib (http://www.gaisler.com) to see the real power of the plugin.
Maybe Xilinx ISE or Altera Quartus.
I once tried - at least I wanted to try - Altera Quartus, but I soon switched to a normal editor and took GHDL for simulation.
But I am no professional, so I suppose they are using some of the former two products.
Engineers in large semiconductor companies are using emacs/vim for code editing.
Integrated Development Environment doesn't make much sense there, since a project is a few thousand HDL files taken from different places on a *NIX network, setup scripts for a dozen different tools, and cron jobs to do frequent builds.
For simpler FPGA projects developed on Windows I've seen people using Borland CodeWright, UltraEdit, and Crimson Editor.
I've been using Notepad++ along with the free vendor tools to edit my VHDL on Windows.
My best bet is to use VIM to do whatever i need to for VHDL formatting. VIM has an extremely powerful facility to develop custom plugins, and no amount of IDE hopping will give you all the customization you would ever need.
Things like signal names < 20 characters, procedure lengths < 100 lines, no use of linkage ports -- all of these can be coded in VIM with minimal effort. You could actually run vcom or ncvhdl from within VIM and then see where the errors are.
Having said all this, you might want to take a look at what Sigasi has to offer. If you need more help on this, let me know -- it'd be fun coding a VIM plugin.
Emacs + VHDL mode + a compiler / simulator + source control.
The VHDL mode is configured to use the compiler to compile the design and optionally run the simulation.
Emacs can link with the source control to correctly check in, diff and tag.
I personally like this set up because the editor is open source and I can use it anywhere (Mac, Linux, Windows). The compiler / simulator can be anything from a free download (FPGA vendor sponsored Modelsim or GHDL) to a grid engine. Once set up, it pretty much becomes invisible.
Simplifide also has an eclipse plugin which supports VHDL, Verilog and SystemVerilog which contains all of the standard IDE features and more.
It can be downloaded at http://simplifide.com
I'm just using Scite, like for most other coding.
Some things in Scite make my VHDL coding pleasant:
Coloring is easy to set up. Either download a ready .properties file or modify the Ada mode.
Scite has a snippets plugin that's very useful for VHDL. All those boring process and architecture definitions are generated automatically for me with a couple of key-presses.
Scite is easy to customize with external scripts: I have scripts for compiling the current file, for fixing indentation, for listing all processes and so on, the possibilities are limitless.
Besides the big ones Sigasi and Simplifide there is also ZamiaCad a free VHDL IDE: http://zamiacad.sourceforge.net/web/
It depends on the kind of project you are developing. Modelsim provides a good IDE but the code editor lacks the advanced features we are accustomed to use. I use VIM to write the code, and Modelsim to simulate, debug etc...
There's another VHDL-IDE, it's a plug-in for Visual Studio, but as far as I could see, it is also available as standalone version (ie, you don't need a Visual Studio license). It seems relatively new, but so far I really like it.
http://www.vide-software.at
I switched to use Vim because it has a very large list of plugins for almost any language (I believe Emacs do also). You might not get the best VHDL IDE ever with it, but you get a familiar interface for every code and non-code you must edit. Plus, as you move between companies, you can take your environment with you.
For the ones using Vim, check vim-hdl. It's a plugin I'm working on that provides syntax checking based on simulators/compilers. I'm using daily with ModelSim and so far works nice.
Emacs with the appropriate language mode is my vote. Basic editing is easy enough to learn and there are a lot of example config files out there.
Kevin.
I'm using Xilinx ISE for educational purposes, it works really well. And it has everything. After applying for a student license, the student version it free to use, but it takes up a lot of space. The installation file alone is more than 6 gb. The book we use for school is referring to xilinx special properties. (“FGPA Prototyping by VHDL Examples”). I'm also programming on a nexsys 3 spartan 6 testboard, and I'll be using xilinx for another year, but when I finish the course I’m gonna look for something smaller. Happy to read about the lightweight alternatives.

What tools do you use for static code analysis? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
This question on Cyclomatic Complexity made me think more about static code analysis. Analyzing code complexity and consistency is occasionally useful, and I'd like to start doing it more. What tools do you recommend (per language) for such analysis? Wikipedia has a large list of tools, but which ones have people tried before?
Edit: As David points out, this is not a completely unasked question when it comes to C/UNIX based tools.
I have been setting up a Hudson continuous integration (CI) build system for my Objective-C iPhone projects (iOS apps), and have compiled a varied list of tools that can be used to analyze my projects during a build:
Clang static analyzer: free, up-to-date stand-alone tool that catches more issues than the version of Clang included with Xcode 4. Active project. -- visit http://clang-analyzer.llvm.org
Doxygen: free documentation generation tool that also generates class dependency diagrams. Active project -- visit http://www.doxygen.nl
HFCCA (header-free cyclomatic complexity analyzer): free Python script to calculate code complexity, but without header files and pre-processors. Supports output in XML format for Hudson/Jenkins builds. Active project. -- visit http://code.google.com/p/headerfile-free-cyclomatic-complexity-analyzer
CLOC (count lines of code): free tool to count files, lines of code, comments, and blank lines. Supports diffing, so you can see the differences between builds. Active project. -- visit http://cloc.sourceforge.net
SLOCcount (source lines of code count): a free tool to count lines of code and estimate the costs and time associated with a project. Does not appear to be active. -- visit http://sourceforge.net/projects/sloccount and http://www.dwheeler.com/sloccount
AnalysisTool: free code analysis tool that measures code complexity and also generates dependency diagrams. Not active. Does not seem to work with Xcode 4, but I would love to get it working. -- visit http://www.karppinen.fi/analysistool
For C and Objective-C, you can also use the LLVM/Clang Static Analyzer.
It's Open Source and under active development.
For .Net we use NDepend. It is a great tool and can be integrated to the build (we use CCNet).
http://www.ndepend.com/
HTH.
For C++, I use CppCheck. It seems to work fine.
I use the PMD plugin for Eclipse a lot. It's pretty nice, and very configurable. CheckStyle is also good, if you're looking for more of a style enforcer.
Checkstyle, Findbugs, and PMD all work pretty well in Java. I'm currently pretty happy with PMD running in NetBeans. It has a fairly simple GUI for managing what rules you want to run. It's also very easy to run the checker on one file, an entire package, or an entire project.
Obviously, the answer depends on the programming languages. UNO is good for C programs.
#Thomas Owens: I think you meant Splint.
Lint is the only one I have used at a previous position. It wasn't bad, most of the things it suggested were good catches, some didn't make much sense. As long you don't have a process in place to ensure that there are no lint errors or warnings, then it is useful to perhaps catch some otherwise hidden bugs
We use Coverity Prevent at Palm for C and C++ code analysis, and it's done a great job of uncovering some hidden bugs in our code. It also finds a lot of not likely to be hit problems, but it's easy to mark those as "will not fix" or "not a problem" in the code database that the tool generates. It is expensive, but the company occasionally does runs on open source projects and provides reports to the maintainers. They have a whitepaper about our use of the product on their site if you want to read more about our experience.
My admins are really cheap, so can I only use really cheap tools:
1) CCCC (C / C++ Code Counter): Various results related to number of lines (vs. lines of comments, cyclomatic complexity, Information flow, ...)
2) Semian: Fastest code duplication finder I ever tried.
3) LOC Metrix: Not very usefull but can help to make a point.
We use Programming Research's QAC for our C code. Works OK.
Recently we have been talking about checking out some of the more advanced and static/dynamic code analyzers like Coverity's Prevent or the analysis tool by GrammaTech.
They claim to not only do static analysis but also find runtime errors etc. One major selling point is supposed to be fewer false positives.
The only time I've ever used one of those tools is Split (C programming language). I thought it was helpful, but I was by no means a power user and I think I barely scratched the surface of what it could do.
I've used quite a few open-source and commercial static analysis tools across many languages and I find that the overall discussion fits under the umbrella of a concept known as technical debt (which this article goes into detail about).
However for a quick answer, here are my favorites per language:
Java: Google CodePro Analytix & Checkstyle
.NET: FxCop & StyleCop
C/C++: McCabe IQ