Component Pascal Article Index for
Component
Website Links For
Component Pascal
 

Information About

Component Pascal




An Open Source implementation exists for the .NET and JVM platforms, from the Gardens Point team around John Gough at Queensland University Of Technology in Australia.

On June 23 , 2004 Oberon Microsystems announced that the BlackBox Component Builder was made available as a free download and that an Open Source version was planned. The beta open source version was initially released in December, 2004 and updated to a final v1.5 release in December, 2005 . It includes the complete source code of the IDE, compiler, debugger, source analyser, profiler and interfacing libraries and can also be downloaded from their website.

BlackBox Component Pascal uses the extensions .odc (''= Oberon '''d'''o'''c'''ument'') for document files, such as source files for example, and .osf (''= Oberon '''s'''ymbol '''f'''ile'') for symbol files while Gardens Point Component Pascal uses .cp for source and .cps for symbol files.


SYNTAX


The full syntax for CP, as given by the Language Report, is shown below. Note that in the Extended Backus–Naur Form only 34 grammatical productions are required, just one more than for Oberon-2 , although it is a rather more advanced language.


Module = MODULE ident ";" DeclSeq [BEGIN StatementSeq StatementSeq END ident ".".
ImportList = IMPORT ":=" ident {"," ":=" ident} ";".
  MethAttributes NEW (ABSTRACT EMPTY EXTENSIBLE)
  FPSection IN OUT ident {"," ident} ":" Type
  Receiver "(" IN ident ":" ident ")"
  ARRAY "ConstExpr" class="copylinks" target="_blank">{"," ConstExpr} OF Type
  "ABSTRACT" class="copylinks" target="_blank"> EXTENSIBLE LIMITED RECORD ["("Qualident")"] FieldList {"" FieldList} END
  PROCEDURE "FormalPars" class="copylinks" target="_blank">{Link without Title}
  Designator ""("" class="copylinks" target="_blank">[ExprList ")"]
  FOR Ident ": " Expr TO Expr ConstExpr DO StatementSeq END
  WITH "" class="copylinks" target="_blank">Guard DO StatementSeq {"" Guard DO StatementSeq } StatementSeq END
  RETURN "Expr" class="copylinks" target="_blank">{Link without Title}
  SimpleExpr "-" Term {AddOp Term}
  Factor Designator number character string NIL Set "(" Expr ")" " ~ " Factor
  Relation "=" "#" "<" "<=" ">" ">=" IN IS
  AddOp "+" "-" OR
  MulOp " " "/" DIV MOD "&"
  Designator Qualident {"" ident " ExprList " " " ^ " "(" Qualident ")" "(" ")"} [ "$"
  IdentDef ident " "-"