On 2015-10-25 00:19, Monte Goulding wrote:
OK, well we can let Mark Waddingham comment on whether I’m right in
that control structures are unlikely targets for open language or not.
It seems quite unlikely to me as it’s significantly more complicated
than commands. I’m not saying it’s not possible the ROI would be
terrible. As in almost 0 return for a reasonably heavy investment…

Initially, Open Language will allow you to define:
    - commands
    - expressions
    - iterators

This is the range of things which the 'custom' LiveCode Builder syntax is built upon (which means I know it definitely works!).

Commands are what they you would imagine - they are a sequence of tokens interspersed with expressions:
    'put' <Expression> 'after' <Expression>

Expressions fall into three categories. First we have 'prefix operators':
    'word' <Expression> 'of' <Expression>

Then we have postfix operators:
     <Expression> 'is' 'a' 'number'

Then we have infix operators:
     <Expression> 'is' 'less' 'than' <Expression>

Then we have radical expressions:
     'the' 'empty' 'string'

Note that in all three 'operator' cases, you can also have expressions in-between the tokens:
     <Expression> 'is' 'between' <Expression> 'and' <Expression>

The thing which defines what class of operator it is is determined by whether there is an expression on the left, right or both.

Iterators are essentially extensions to 'repeat':
     'repeat' 'for' 'each' 'char' <Variable> 'in' <Expression>

Basically, we'll extend the reach of Open Language in terms of what you can create in the host language with it over time. Already, implementing the initial LiveCode Builder compiler has taught me that there need to be a greater set of patterns such as property accesses, chunks etc. - defining them at the low level 'syntax clause' point is a little too much work (although a great deal less then writing explicit C code as an ad-hoc parser in the engine ;)).

Warmest Regards,

Mark.

--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to