@=~ ~p typesetter = texinfo ~p maximum_input_line_length = infinity ~O~~{~- $/Visual/VisPattern.gnrc+instance=view0:inst ~} ~O~~{ /* ================== Symbolklassen ===================== */ SYMBOL TSE_SimpleList INHERITS VP_SimpleList COMPUTE THIS.VP_OptElementDistance=5; THIS.VP_OptMinWidth1=20; THIS.VP_OptAlignInWidth=VisAlignLeft; END; SYMBOL TSE_TextTerminal INHERITS VP_TextTerminal COMPUTE THIS.VP_OptFrameDrawing=ADDROF(Solid3DRectangleDrawing); END; /* ================== Program ===================== */ SYMBOL Program INHERITS VP_Form COMPUTE THIS.VP_OptDrawing=ADDROF(ProgramDrawing); END; SYMBOL ProgramVarDeclList INHERITS VP_ContainerSSS COMPUTE SYNT.VP_OblContainerName="ProgramVarDeclList"; END; SYMBOL ProgramStmtList INHERITS VP_ContainerSSS COMPUTE SYNT.VP_OblContainerName="ProgramStmtList"; END; /* ================== ProgramVarDeclList ===================== */ SYMBOL ProgramVarDeclList INHERITS TSE_SimpleList END; SYMBOL _List_VarDecl INHERITS VP_ListContext END; SYMBOL VarDecl INHERITS VP_ListNode END; /* ================== IntegerVarDecl ========================= */ SYMBOL IntegerVarDecl INHERITS VP_Form COMPUTE THIS.VP_OptDrawing=ADDROF(IntegerVarDeclDrawing); END; SYMBOL IntegerVarDeclDefIdentList INHERITS VP_ContainerSSS COMPUTE SYNT.VP_OblContainerName="IntegerVarDeclDefIdentList"; END; /* ================== IntegerVarDeclDefIdentList ===================== */ SYMBOL IntegerVarDeclDefIdentList INHERITS TSE_SimpleList COMPUTE THIS.VP_OptDirection=visEast; END; SYMBOL _List_DefIdent INHERITS VP_ListContext END; /* ================== ProgramStmtList ===================== */ SYMBOL ProgramStmtList INHERITS TSE_SimpleList END; /* ================== StmtGroup ===================== */ SYMBOL StmtGroup INHERITS VP_Form COMPUTE SYNT.VP_OptDrawing=ADDROF(StmtGroupDrawing); END; SYMBOL StmtGroupStmtList INHERITS VP_ContainerSSS COMPUTE SYNT.VP_OblContainerName="StmtGroupStmtList"; END; SYMBOL StmtGroupStmtList INHERITS TSE_SimpleList END; /* ================== WhileStmt ===================== */ SYMBOL WhileStmt INHERITS VP_Form COMPUTE SYNT.VP_OptDrawing=ADDROF(WhileStmtDrawing); END; SYMBOL WhileExpr INHERITS VP_ContainerIP COMPUTE SYNT.VP_OblContainerName="WhileExpr"; END; SYMBOL WhileBody INHERITS VP_ContainerIP COMPUTE SYNT.VP_OblContainerName="WhileBody"; END; /* ================== IfStmt ===================== */ SYMBOL IfStmt INHERITS VP_Form COMPUTE SYNT.VP_OptDrawing=ADDROF(IfStmtDrawing); END; SYMBOL IfExpr INHERITS VP_ContainerIP COMPUTE SYNT.VP_OblContainerName="IfExpr"; END; SYMBOL IfTrueBranch INHERITS VP_ContainerIP COMPUTE SYNT.VP_OblContainerName="IfTrueBranch"; END; SYMBOL IfFalseBranch INHERITS VP_ContainerIP COMPUTE SYNT.VP_OblContainerName="IfFalseBranch"; END; /* ================== Assignment ===================== */ SYMBOL Assignment INHERITS VP_Form COMPUTE SYNT.VP_OptDrawing=ADDROF(AssignmentDrawing); END; SYMBOL AssignmentTarget INHERITS VP_ContainerIP COMPUTE SYNT.VP_OblContainerName="AssignmentTarget"; END; SYMBOL AssignmentSource INHERITS VP_ContainerIP COMPUTE SYNT.VP_OblContainerName="AssignmentSource"; END; /* ================== Add ===================== */ SYMBOL Add INHERITS VP_Form COMPUTE SYNT.VP_OptDrawing=ADDROF(AddDrawing); END; SYMBOL AddOpr1 INHERITS VP_ContainerIP COMPUTE SYNT.VP_OblContainerName="AddOpr1"; END; SYMBOL AddOpr2 INHERITS VP_ContainerIP COMPUTE SYNT.VP_OblContainerName="AddOpr2"; END; /* ================== Sub ===================== */ SYMBOL Sub INHERITS VP_Form COMPUTE SYNT.VP_OptDrawing=ADDROF(SubDrawing); END; SYMBOL SubOpr1 INHERITS VP_ContainerIP COMPUTE SYNT.VP_OblContainerName="SubOpr1"; END; SYMBOL SubOpr2 INHERITS VP_ContainerIP COMPUTE SYNT.VP_OblContainerName="SubOpr2"; END; /* ================== Mul ===================== */ SYMBOL Mul INHERITS VP_Form COMPUTE SYNT.VP_OptDrawing=ADDROF(MulDrawing); END; SYMBOL MulOpr1 INHERITS VP_ContainerIP COMPUTE SYNT.VP_OblContainerName="MulOpr1"; END; SYMBOL MulOpr2 INHERITS VP_ContainerIP COMPUTE SYNT.VP_OblContainerName="MulOpr2"; END; /* ================== Div ===================== */ SYMBOL Div INHERITS VP_Form COMPUTE SYNT.VP_OptDrawing=ADDROF(DivDrawing); END; SYMBOL DivOpr1 INHERITS VP_ContainerIP COMPUTE SYNT.VP_OblContainerName="DivOpr1"; END; SYMBOL DivOpr2 INHERITS VP_ContainerIP COMPUTE SYNT.VP_OblContainerName="DivOpr2"; END; /* ================== CompGT ===================== */ SYMBOL CompGT INHERITS VP_Form COMPUTE SYNT.VP_OptDrawing=ADDROF(CompGTDrawing); END; SYMBOL CompGTOpr1 INHERITS VP_ContainerIP COMPUTE SYNT.VP_OblContainerName="CompGTOpr1"; END; SYMBOL CompGTOpr2 INHERITS VP_ContainerIP COMPUTE SYNT.VP_OblContainerName="CompGTOpr2"; END; /* ================== CompLT ===================== */ SYMBOL CompLT INHERITS VP_Form COMPUTE SYNT.VP_OptDrawing=ADDROF(CompLTDrawing); END; SYMBOL CompLTOpr1 INHERITS VP_ContainerIP COMPUTE SYNT.VP_OblContainerName="CompLTOpr1"; END; SYMBOL CompLTOpr2 INHERITS VP_ContainerIP COMPUTE SYNT.VP_OblContainerName="CompLTOpr2"; END; /* ================== CompEQ ===================== */ SYMBOL CompEQ INHERITS VP_Form COMPUTE SYNT.VP_OptDrawing=ADDROF(CompEQDrawing); END; SYMBOL CompEQOpr1 INHERITS VP_ContainerIP COMPUTE SYNT.VP_OblContainerName="CompEQOpr1"; END; SYMBOL CompEQOpr2 INHERITS VP_ContainerIP COMPUTE SYNT.VP_OblContainerName="CompEQOpr2"; END; /* ================== Terminale ===================== */ SYMBOL Ident INHERITS TSE_TextTerminal COMPUTE THIS.VP_OptDefault="(unnamed)"; THIS.VP_OptText=THIS.persName; END; SYMBOL Constant INHERITS TSE_TextTerminal COMPUTE THIS.VP_OptDefault="(no value)"; THIS.VP_OptText=THIS.persValue; END; SYMBOL DefIdent INHERITS TSE_TextTerminal COMPUTE THIS.VP_OptDefault="(unnamed)"; THIS.VP_OptText=THIS.persName; END; /* ================== Common ===================== */ SYMBOL Expr INHERITS VP_ReplacementContext END; SYMBOL Stmt INHERITS VP_ReplacementContext END; SYMBOL _List_Stmt INHERITS VP_ListContext END; SYMBOL Stmt INHERITS VP_ListNode END; RULE: Stmt ::= COMPUTE Stmt.VP_NodePtrDefined="do nothing"; END; ~}