readme
changeset 265 4d222f46f8cc
parent 67 08097122a922
child 444 92d40d2a7adc
--- a/readme	Fri Apr 01 10:06:19 2011 +0100
+++ b/readme	Fri Apr 01 10:47:24 2011 +0100
@@ -1,14 +1,14 @@
 
 
 
-  IEC 61131-3 IL and ST compiler
+  MATIEC - IEC 61131-3 compiler
 
 
   The following compiler has been based on the
   FINAL DRAFT - IEC 61131-3, 2nd Ed. (2001-12-10)
 
 
-  (c) 2003 Mario de Sousa
+  Copyright (C) 2003-2011  Mario de Sousa (msousa@fe.up.pt)
 
 
 
@@ -27,7 +27,7 @@
  The compiler works in 4(+1) stages:
  Stage 1   - Lexical analyser      - implemented with flex (iec.flex)
  Stage 2   - Syntax parser         - implemented with bison (iec.y)
- Stage 3   - Semantics analyser    - not yet implemented
+ Stage 3   - Semantics analyser    - currently in its early stages
  Stage 4   - Code generator        - implemented in C++
  Stage 4+1 - Binary code generator - gcc, javac, etc...
 
@@ -56,22 +56,6 @@
 
  NOTE 2
  ======
-  I (Mario) have a feeling that the abstract syntax may be
-considerably simplified without any drawbacks to semantic checking
-and code generation. I have nevertheless opted to keep as much 
-info as possible in the abstract syntax tree, in case it may become
-necessary further on.
- Once we start coding the next stages (semantic checking and code
-generation) I will get a better understanding of what is required
-of the abstract syntax tree. At that stage I will be better
-positioned to make a more informed decision on how best to structure
-the abstract syntax tree.
- For now, we play conservative and keep as much info as possible.
-
- 
-
- NOTE 3
- ======
  It would be nice to get this parser integrated into the gcc
 group of compilers. We would then be able to compile our st/il
 programs directly into executable binaries, for all the processor
@@ -145,10 +129,11 @@
 We extend the IEC 61131-3 standard syntax to allow inclusion of 
 other files. The accepted syntax is:
 
-   (*#include "<filename>" *)
-
-Note how this would be ignored by other standard complient compilers 
-as a simple comment!
+   {#include "<filename>" }
+
+We use a pragma directive for this (allowed by the standard itself),
+ since it is an extension of the standard. In principle, this would 
+be ignored by other standard complient compilers!
 
 
 
@@ -403,4 +388,4 @@
 
 **************************************************************************
 
-  (c) 2003 Mario de Sousa
+  Copyright (C) 2003-2011  Mario de Sousa (msousa@fe.up.pt)