Module: dylan-user 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 library java-parser use functional-dylan; use system; use io; use parser-run-time; use big-integers; export java-parser; end library java-parser; define module java-parser use functional-dylan; use byte-vector; use transcendentals; use locators; use streams; use big-integers, prefix: "generic-", rename: { => }; use parser-run-time; export , run-java-parser; // grammar export , literal-value, , // literal-value = #t or #f , , , // literal-value = , // literal-value = float-literal-mantissa, float-literal-scale, float-literal-exponent, , , , // literal-value = integer-literal-radix, , , , // literal-value = #f ; // literal-value = or export , type-name, // or type-numdims, , primitive-type-symbol, // #"boolean", #"byte", #"float", ... ; export , , name-identifiers, , identifier-name, ; export , , compilation-unit-package, compilation-unit-imports, compilation-unit-types; export , , import-name, , // import type-name; ; // import package-name.*; export , declaration-modifiers; export , , // () type-declaration-name, type-declaration-declarations, , class-super, class-interfaces, , interface-extends; export , , declaration-modifiers, declaration-body, , field-declarators, field-type, , , method-name, method-return-type, // #f means VOID (except in constructors) method-parameters, method-throws, , // non empty body ; export , , parameter-name, parameter-type; export , , variable-declarator-name, variable-declarator-numdims, variable-declarator-init; // false or export , , , array-inits, , , , , array-access-value, array-access-index, , field-access-value, field-access-field, , cast-type, cast-value, , expression-argument-1, expression-argument-2, expression-operator, , , expression-argument, expression-operator, , , , if-expression-condition, if-expression-true-value, if-expression-false-value, , instanceof-type, instanceof-value, , method-call-args, method-call-name, method-call-class, , , , new-array-type, new-array-dims, , new-class-type, new-class-args, , ; export , operator-symbol, , // includes ++ and -- assignment-operator; export , , , local-variable-declarators, local-variable-type, , , , block-statements, , , switch-statement-value, switch-statement-cases, , do-statement-condition, do-statement-body, , break-statement-label, , continue-statement-label, , return-statement-value, , synchronized-statement-condition, synchronized-statement-body, , throw-statement-value, , try-statement-body, try-statement-catches, try-statement-finally, , labeled-statement-label, labeled-statement-statement, , if-statement-condition, if-statement-true-value, if-statement-false-value, , while-statement-condition, while-statement-body, , for-statement-init, // statement, statements, or local var for-statement-update, for-statement-condition, for-statement-body, , // See details of these under , , , , , ; export , , switch-case-labels, // expressions or #f switch-case-body; export , , catch-parameter, catch-body; export , // subtype of modifiers-symbols, // mask => sequence of symbols $public-modifier, $protected-modifier, $private-modifier, $static-modifier, $abstract-modifier, $final-modifier, $native-modifier, $synchronized-modifier, $transient-modifier, $volatile-modifier; end module;