Thu, 7 Mar 2013 11:11:59 -0000

Related articles |
---|

[6 earlier articles] |

Re: Compiling expressions torbenm@diku.dk (2013-01-03) |

Re: Compiling expressions james.harris.1@gmail.com (James Harris) (2013-01-03) |

Re: Compiling expressions james.harris.1@gmail.com (James Harris) (2013-01-03) |

Re: Compiling expressions mailbox@dmitry-kazakov.de (Dmitry A. Kazakov) (2013-01-04) |

Re: Compiling expressions james.harris.1@gmail.com (James Harris) (2013-01-06) |

Re: Compiling expressions vonbrand@inf.utfsm.cl (Horst von Brand) (2013-01-14) |

Re: Compiling expressions james.harris.1@gmail.com (James Harris \(es\)) (2013-03-07) |

From: | "James Harris \(es\)" <james.harris.1@gmail.com> |

Newsgroups: | comp.compilers |

Date: | Thu, 7 Mar 2013 11:11:59 -0000 |

Organization: | A noiseless patient Spider |

References: | 12-12-035 13-01-013 |

Keywords: | parse |

Posted-Date: | 07 Mar 2013 21:53:31 EST |

"James Harris" <james.harris.1@gmail.com> wrote in message

*> On Dec 29 2012, 1:11 pm, James Harris <james.harri...@gmail.com> wrote:*

*> ...*

*>*

*>> 1. Hand-written, not the output of a parser generator.*

*>> 2. Efficient and without backtracking.*

*>> 3. Precedences (and possibly associativities) defined in tables.*

*>> 4. Output to be a tree structure.*

*>> 5. Parenthesised subexpressions allowed.*

*>> 6. Some operator families are *not* to associate with each other. See*

*>> below.*

*>> 7. Monadic prefix, dyadic infix and monadic postfix operators are all*

*>> allowed.*

*>> 8. Prefix and infix operators can use some same symbols (e.g. minus*

*>> sign).*

*>>*

*>> Infix and postfix operators use distinct symbols.*

*>*

*> ...*

*>*

*> Here is an idea for an expression parser to try to address the points*

*> mentioned. I am not sure if it covers all the bases yet.*

<snipped>

In case anyone is later looking for some code to parse expressions I should

say that I have placed an updated copy at

https://groups.google.com/group/comp.lang.misc/browse_frm/thread/c21bf4f4cd55f345

The most important changes were to allow for low-precedence postfix

operators (the original code here only allowed them to be highest

precedence) and add some detailed documentation.

James

Post a followup to this message

Return to the
comp.compilers page.

Search the
comp.compilers archives again.