Module: java-parser Author: Gail Zacharias Copyright: Original Code is Copyright (c) 1995-2004 Functional Objects, Inc. All rights reserved. License: Functional Objects Library Public License Version 1.0 Dual-license: GNU Lesser General Public License Warranty: Distributed WITHOUT WARRANTY OF ANY KIND define class () constant slot block-statements :: , required-init-keyword: statements:; end; define method as-block (statement :: ) => (b :: ) make(, statements: rev-block-statements(list(statement))) end; define method as-block (b :: ) => (b :: ) b end; define class () end; define constant $empty-statement = make(); define class () constant slot for-statement-init :: type-union(singleton(#f), , , ), required-init-keyword: init:; constant slot for-statement-update :: type-union(singleton(#f), , ), required-init-keyword: update:; constant slot for-statement-condition :: false-or(), required-init-keyword: condition:; constant slot for-statement-body :: , required-init-keyword: body:; end; define class () constant slot if-statement-condition :: , required-init-keyword: condition:; constant slot if-statement-true-value :: , required-init-keyword: true:; constant slot if-statement-false-value :: false-or(), required-init-keyword: false:; end; define class () constant slot do-statement-condition :: , required-init-keyword: condition:; constant slot do-statement-body :: , required-init-keyword: body:; end; define class () constant slot while-statement-condition :: , required-init-keyword: condition:; constant slot while-statement-body :: , required-init-keyword: body:; end; define class () constant slot break-statement-label :: false-or(), required-init-keyword: label:; end; define class () constant slot continue-statement-label :: false-or(), required-init-keyword: label:; end; define class () constant slot return-statement-value :: false-or(), required-init-keyword: value:; end; define class () constant slot synchronized-statement-condition :: , required-init-keyword: condition:; constant slot synchronized-statement-body :: , required-init-keyword: body:; end; define class () constant slot throw-statement-value :: , required-init-keyword: value:; end; define class () constant slot catch-parameter :: , required-init-keyword: parameter:; constant slot catch-body :: , required-init-keyword: body:; end; define grammar-sequence (); define class () constant slot try-statement-body :: , required-init-keyword: body:; constant slot try-statement-catches :: , required-init-keyword: catches:; constant slot try-statement-finally :: false-or(), required-init-keyword: finally:; end; // False means 'default' case. //define constant = false-or(); define grammar-sequence (false-or()); define class () constant slot switch-case-labels :: , required-init-keyword: labels:; // only last switch case can have empty body... constant slot switch-case-body :: false-or(), required-init-keyword: body:; end; define grammar-sequence (); define class () constant slot switch-statement-value :: , required-init-keyword: value:; constant slot switch-statement-cases :: , required-init-keyword: cases:; end; define class () constant slot labeled-statement-label :: , required-init-keyword: label:; constant slot labeled-statement-statement :: , required-init-keyword: statement:; end;