Related articles |
---|
Trouble with PreCCX pgw99@doc.ic.ac.uk (Philip Willoughby) (2003-06-08) |
Re: Trouble with PreCCX mklooster@baan.nl (2003-07-13) |
From: | Philip Willoughby <pgw99@doc.ic.ac.uk> |
Newsgroups: | comp.compilers |
Date: | 8 Jun 2003 22:07:08 -0400 |
Organization: | Imperial College, London |
Keywords: | tools, question |
Posted-Date: | 08 Jun 2003 22:07:07 EDT |
Hi all,
I'm trying to write a parser for a new language using preccx 2.45f which
is the latest version I can find.
I'm having a lot of trouble - I'm more used to yacc, but I can't build
this one with single-symbol lookahead without things getting very messy.
I'll start with my smallest problem (I think the others will follow the
same pattern), so if anyone out there is a PreCCX-pert please help...
The line I'm trying to parse is:
int $foo ;
Which declares an integer named $foo.
Here are the relevant bits of my grammar:
========================
@ posh_statement = posh_variable_declaration
@ { posh_whitespace }*
@ <';'>
/* There is more to this rule, but none of the others can be matching */
@ posh_variable_declaration = posh_type
@ { posh_whitespace }+
@ posh_variable
@ [
@ { posh_whitespace }*
@ posh_equal
@ { posh_whitespace }*
@ posh_expression
@ ]
@ posh_type = posh_bool
@ | posh_int
@ | posh_string
/* again, there is more but it's not relevant */
@ posh_int = <'i'>
@ <'n'>
@ <'t'>
@ posh_variable = <'$'>
@ posh_name
@ posh_name = posh_alphabetic
@ { posh_alphanumeric }*
/* I assume you can all guess what posh_alphabetic etc are ;-) */
@ posh_whitespace = <' '>
@ | <'\t'>
@ | <'\n'>
@ | <'\v'>
@ | <'\f'>
@ | <'\r'>
@ | <'#'>
@ >'\n'<*
@ <'\n'>
@ posh_equal = <'='>
/* Hopefully posh_expression is irrelevant since posh_equal can't match */
========================
The full grammar is at http://www.doc.ic.ac.uk/~pgw99/poshparser.y
The lexer to use with it is at http://www.doc.ic.ac.uk/~pgw99/deadsimple.l
I suspect that if I rewrote these clauses for yacc, it would parse
things correctly.
I appreciate any help you can give...
Regards,
Philip Willoughby
Systems Programmer, Department of Computing, Imperial College, London, UK
Return to the
comp.compilers page.
Search the
comp.compilers archives again.