Ruby and thesis language.
Feb. 5th, 2006 07:51 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
(This was initially a much longer entry, but logjam crashed. Grr.)
So I've been writing the compiler for the language I designed for my senior thesis in Ruby. I've been pretty happy with it overall, but the available tools seem badly deficient:
- I really, really miss Eclipse or MSVS-style Intellisense. Neither Emacs's ruby-mode or RDT for Eclipse provides anything remotely similar. I realize that this is difficult to implement for a language as dynamic as Ruby, but damn, do I miss it.
- There's a serious shortage of cross-referencing ability - keeping track of which productions in the grammar I've implemented syntax tree nodes for, and which syntax tree nodes I've implemented the necessary intermediate-code instructions for is rapidly becoming a bigger problem than my puny brain can handle (the thing's a hair under two thousand lines long and growing!). This is partially related to the fact that there isn't *any* editor support for rex and racc (the lexer and parser generators I've been using, respectively), but is larger - RDT just doesn't keep a master project list of classes and methods.
- The available documentation for rex and racc is pretty bad (and Engrish, where it exists at all!), but I seem to be getting by okay. My biggest gripe is that the rex documentation seems to be completely inconsistent with rex itself.
- This is mostly a RDT-related problem and sounds silly, but I really miss how ruby-mode inserts "end" automatically after I type "def" or "class" and similarly completes code. It also doesn't do auto-indent, which is much more annoying.
So, anyone out there in LJ-land doing Ruby development and know of better tools than the ones I've tried?
So I've been writing the compiler for the language I designed for my senior thesis in Ruby. I've been pretty happy with it overall, but the available tools seem badly deficient:
- I really, really miss Eclipse or MSVS-style Intellisense. Neither Emacs's ruby-mode or RDT for Eclipse provides anything remotely similar. I realize that this is difficult to implement for a language as dynamic as Ruby, but damn, do I miss it.
- There's a serious shortage of cross-referencing ability - keeping track of which productions in the grammar I've implemented syntax tree nodes for, and which syntax tree nodes I've implemented the necessary intermediate-code instructions for is rapidly becoming a bigger problem than my puny brain can handle (the thing's a hair under two thousand lines long and growing!). This is partially related to the fact that there isn't *any* editor support for rex and racc (the lexer and parser generators I've been using, respectively), but is larger - RDT just doesn't keep a master project list of classes and methods.
- The available documentation for rex and racc is pretty bad (and Engrish, where it exists at all!), but I seem to be getting by okay. My biggest gripe is that the rex documentation seems to be completely inconsistent with rex itself.
- This is mostly a RDT-related problem and sounds silly, but I really miss how ruby-mode inserts "end" automatically after I type "def" or "class" and similarly completes code. It also doesn't do auto-indent, which is much more annoying.
So, anyone out there in LJ-land doing Ruby development and know of better tools than the ones I've tried?
no subject
Date: 2006-02-06 01:17 am (UTC)Although you seem to have identified yourself as an emacs user, I still want to point out that vim appears to understand racc (bot not rex).
no subject
Date: 2006-02-06 01:28 am (UTC)(thanks a lot, though)
no subject
Date: 2006-02-06 03:28 am (UTC)no subject
Date: 2006-02-09 03:41 am (UTC)no subject
Date: 2006-02-06 03:33 am (UTC)