ANTLR is a good tool for building DSLs, but the major issue here is actually language design and documentation. If you can clearly delimit the problem domain, then it is possible to design a minimal language and not have to modify/grow it very much. If not, then your DSL is likely to grow uncontrollably and give you versioning headaches; benchmarking and testing is a broad enough domain that your DSL is likely to evolve into a general purpose language--not a good thing. As an alternative, I'd suggest using Python augmented with runtime support for the specific features you need. The big advantages to this are that you only have to document the features you have added along with a minimal Python vocabulary and can point users to existing Python documentation and texts if they want to do more; also, some of your users will have a smattering of Python to start with and can ask around for help if necessary.
Since Python is available in C source form, you should not have much problem in getting it on your various platforms; also, SWIG is very handy for adding extensions. --Loring ----- Original Message ---- > From: Sam Crawford <[email protected]> > To: [email protected] > Sent: Tue, September 14, 2010 6:04:29 AM > Subject: [antlr-interest] Writing a DSL for benchmarking IO > > Hello, > > Please forgive me if this is the wrong list to post to; I was > recommended to try here by a friend. > > I run a platform that allows for benchmarking of various operations > (I/O, network, etc) across a wide array of devices. The majority of > our end users are engineers, but predominantly without professional > programming experience. I'm currently exploring the idea of writing a > DSL to allow users of our platform to write their own benchmarks, > without them having to learn C/C++. > > Ultimately the idea is that we'd provide a small, simple language > focussed on the benchmarking constructs they're interested in, and > then convert it to C before compilation (we have many targets - x86, > ARM, MIPS, etc). > > I have a broad idea of how this would take shape, but I was wondering if: > > 1) Anyone was familiar with anything like this in the wild > 2) ANTLR would be a good fit for this kind of use-case > > Thanks in advance, > > Sam > > List: http://www.antlr.org/mailman/listinfo/antlr-interest > Unsubscribe: >http://www.antlr.org/mailman/options/antlr-interest/your-email-address > List: http://www.antlr.org/mailman/listinfo/antlr-interest Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address -- You received this message because you are subscribed to the Google Groups "il-antlr-interest" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/il-antlr-interest?hl=en.
