Related articles |
---|
Semantic Checking - C johnvoltaire@gmail.com (johnvoltaire) (2005-01-30) |
Re: Semantic Checking - C nmm1@cus.cam.ac.uk (2005-02-03) |
Re: Semantic Checking - C torbenm@diku.dk (2005-02-03) |
Re: Semantic Checking - C jeremy.wright@microfocus.com (Jeremy Wright) (2005-02-03) |
Re: Semantic Checking - C jacob@jacob.remcomp.fr (jacob navia) (2005-02-03) |
Re: Semantic Checking - C neal.wang@gmail.com (Neal Wang) (2005-02-03) |
Re: Semantic Checking - C foobar@nowhere.void (Tommy Thorn) (2005-02-03) |
Re: Semantic Checking - C hannah@schlund.de (2005-02-11) |
From: | nmm1@cus.cam.ac.uk (Nick Maclaren) |
Newsgroups: | comp.compilers |
Date: | 3 Feb 2005 22:39:40 -0500 |
Organization: | University of Cambridge, England |
References: | 05-01-098 |
Keywords: | analysis, semantics |
Posted-Date: | 03 Feb 2005 22:39:40 EST |
johnvoltaire <johnvoltaire@gmail.com> wrote:
>1. We are trying to improve the semantic analysis of a particular
>compiler, and we need to identify the errors that compilers usually
>can or cannot detect. Please take time to review the following list of
>errors we've gathered and check if any or all of them belongs to the
>semantic checking routine during compilation/runtime. ...
Well, I could, but why should I do your work for you for no pay?
Being soft-hearted, I will do some of it.
>2. The process we are planning to do is to make a static semantic
>checking of C programs so that these kind of semantic errors would not
>occur upon execution the program. ...
As many compilers do, including gcc and most high-quality ones.
>From what we've understand, static semantic checking refers to the
>analysis of expected program meaning or flow before
>compilation/execution, while dynamic semantic checking refers to the
>analysis during execution. Could anyone affirm on these?
It is as good a set of definitions as any.
>Is there anyone here that we could consult or discuss with regards to
>this subject?
Almost certainly. But you should start by making it clear what basis
you are assuming - e.g. commercial consultancy, asking for free advice
or what.
>Common semantic errors in C language:
>
>1. Use of function without function prototypes
>2. Code with no effect (dead code)
Not errors and the former is always syntactic not semantic.
>12. No identifiers or variables are used twice in the same block or
>scope
>13. The number and types of arguments in a function call must be the
>same as the number and types of the prototypes
>14. A return statement must not have a return value unless it appears
>in the function prototype that is declared to return a value
>15. Break statements appear outside enclosing constructs where a break
>statement may appear
Those (and others) are all syntactic errors where the C standard
requires the compiler to diagnose them statically.
Regards,
Nick Maclaren.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.