Version 1.1 of acs/ac-00286.txt

Unformatted version of acs/ac-00286.txt version 1.1
Other versions for file acs/ac-00286.txt

!standard 1.1(1/3)          17-01-10 AC95-00286/00
!class confirmation 17-01-10
!status received no action 17-01-10
!status received 16-12-10
!subject Generating version 4 of the ARM
!summary
!appendix

From: Ethin Probst
Sent: Saturday, December 10, 2016  9:15 PM

I cannot generate the ARM version 4 (Ada 2012). I don't want to
generate Ada version 5 (Ada 202X). (Just wondering, but is the 202X in
the reference name mean Ada 2017?) When I do, I get a large quantity
of errors. Here is the full output of arm_form.exe:
[output start]
Ada Manual formatter
  Copyright 2000, 2002, 2004, 2005, 2006, 2011, 2012  AXE Consultants
  P.O. Box 1512, Madison WI  53701
  Master File = rm.msm
  Format = HTML
  Changes = NEW_CHANGES
  Version = 4
-- Reading master file rm.msm
Hide Index Entries
Hide Annotations
Hide ISO Text
Link Non-Terminals
File Prefix is RM
Examples in fixed-width font
Body in roman font
Notes in Ada 95 standard format
Table of Contents in Ada 95 standard format
Lists in Ada 95 standard format
Top-level subdivisions known as Clauses
Single RTF Output File
RTF footer will include the date
RTF footer will include the name of the clause that starts the page
RTF footer will use the normal format (body fond, one size)
RTF Page Size is ADA95
RTF Serif Font=Times
RTF Sans_Serif Font=Arial
Single HTML Output File
HTML version and kind=4
HTML will use Unicode characters where appropriate
HTML reference URL=RM-STDS.html
HTML search URL=RM-SRCH.html
HTML index URL=
HTML navigation will use buttons
HTML navigation bar will appear on top of pages
HTML navigation bar will appear on bottom of pages
HTML Tab Emulation is EMULATE_FIXED_ONLY
HTML text color is #000000
HTML background color is #FFFFF0
HTML link color is #000080
HTML visited link color is #330033
HTML active link color is #0000FF
  Lines processed:  107 - rm.msm
-- Scanning Title.MSS
  Lines scanned:  290 - Title.MSS
-- Scanning Front_Matter.MSS
  Lines scanned:  1576 - Front_Matter.MSS
-- Scanning 01.MSS
  Lines scanned:  2388 - 01.MSS
-- Scanning 02.MSS
  Lines scanned:  2186 - 02.MSS
-- Scanning 03A.MSS
  Lines scanned:  7529 - 03A.MSS
-- Scanning 03B.MSS
  Lines scanned:  2745 - 03B.MSS
-- Scanning 03C.MSS
  Lines scanned:  6634 - 03C.MSS
-- Scanning 04A.MSS
  Lines scanned:  5748 - 04A.MSS
-- Scanning 04B.MSS
  Lines scanned:  3082 - 04B.MSS
-- Scanning 05.MSS
  Lines scanned:  1942 - 05.MSS
-- Scanning 06.MSS
  Lines scanned:  5368 - 06.MSS
-- Scanning 07.MSS
  Lines scanned:  4924 - 07.MSS
-- Scanning 08.MSS
  Lines scanned:  3841 - 08.MSS
-- Scanning 09.MSS
  Lines scanned:  5936 - 09.MSS
-- Scanning 10.MSS
  Lines scanned:  4083 - 10.MSS
-- Scanning 11.MSS
  Lines scanned:  2650 - 11.MSS
-- Scanning 12.MSS
  Lines scanned:  3897 - 12.MSS
-- Scanning 13A.MSS
  Lines scanned:  5165 - 13A.MSS
-- Scanning 13B.MSS
  Lines scanned:  7071 - 13B.MSS
-- Scanning LIBRARY.MSS
  Lines scanned:  9 - LIBRARY.MSS
-- Scanning PRE.MSS
  Lines scanned:  426 - PRE.MSS
-- Scanning PRE_Standard.MSS
  Lines scanned:  498 - PRE_Standard.MSS
-- Scanning PRE_Ada.MSS
  Lines scanned:  53 - PRE_Ada.MSS
-- Scanning PRE_Chars.MSS
  Lines scanned:  1346 - PRE_Chars.MSS
-- Scanning PRE_Strings.MSS
  Lines scanned:  4052 - PRE_Strings.MSS
-- Scanning PRE_Math.MSS
  Lines scanned:  927 - PRE_Math.MSS
-- Scanning Real_Attribs.MSS
  Lines scanned:  732 - Real_Attribs.MSS
-- Scanning PRE_IO.MSS
  Lines scanned:  4096 - PRE_IO.MSS
-- Scanning PRE_Cmdln.MSS
  Lines scanned:  128 - PRE_Cmdln.MSS
-- Scanning PRE_Dirs.MSS
  Lines scanned:  1561 - PRE_Dirs.MSS
-- Scanning PRE_Environ.MSS
  Lines scanned:  259 - PRE_Environ.MSS
-- Scanning PRE_Containers.MSS
  Lines scanned:  9389 - PRE_Containers.MSS
-- Scanning PRE_Con2.MSS
  Lines scanned:  5147 - PRE_Con2.MSS
-- Scanning PRE_Locales.MSS
  Lines scanned:  132 - PRE_Locales.MSS
-- Scanning Interface.MSS
  Lines scanned:  3669 - Interface.MSS
-- Scanning SP.MSS
  Lines scanned:  2670 - SP.MSS
-- Scanning RT.MSS
  Lines scanned:  6683 - RT.MSS
-- Scanning DS.MSS
  Lines scanned:  2441 - DS.MSS
-- Scanning InfoSys.MSS
  Lines scanned:  1349 - InfoSys.MSS
-- Scanning Numerics.MSS
  Lines scanned:  4383 - Numerics.MSS
-- Scanning Safety.MSS
  Lines scanned:  1373 - Safety.MSS
-- Scanning Obsolescent.MSS
  Lines scanned:  1873 - Obsolescent.MSS
-- Scanning Attribs.MSS
  Lines scanned:  41 - Attribs.MSS
-- Scanning Pragmas.MSS
  Lines scanned:  20 - Pragmas.MSS
-- Scanning Impldef.MSS
  Lines scanned:  83 - Impldef.MSS
-- Scanning Glossary.MSS
  Lines scanned:  19 - Glossary.MSS
-- Scanning Syntax.MSS
  Lines scanned:  40 - Syntax.MSS
-- Scanning Langdef.MSS
  Lines scanned:  81 - Langdef.MSS
-- Scanning Index.MSS
  Lines scanned:  29 - Index.MSS
-- Processing Title.MSS
  Lines processed:  290 - Title.MSS
-- Processing Front_Matter.MSS
  Lines processed:  1576 - Front_Matter.MSS
-- Processing 01.MSS
  -- Unknown 'begin' type - inconsistent2012 on line  1151 - 01.MSS
  -- Unknown 'begin' type - incompatible2012 on line  1187 - 01.MSS
  -- Unknown command (skipped) - Inconsistent2012Title on line  1193 - 01.MSS
  -- Unknown 'begin' type - extend2012 on line  1226 - 01.MSS
  -- Unknown 'begin' type - diffword2012 on line  1266 - 01.MSS
  Lines processed:  2388 - 01.MSS
-- Processing 02.MSS
  Lines processed:  2186 - 02.MSS
-- Processing 03A.MSS
  -- Unknown 'begin' type - extend2012 on line  2092 - 03A.MSS
  -- Unknown 'begin' type - diffword2012 on line  2101 - 03A.MSS
  ** Bad parameter name: InitialVersion; but Ref, ARef, or Text
expected on line  5122 - 03A.MSS
  ** Failed to find parameter text for InitialVersion, line  5122 - 03A.MSS
  ** Bad parameter name: InitialVersion; but Ref, ARef, or Text
expected on line  5129 - 03A.MSS
  ** Failed to find parameter text for InitialVersion, line  5129 - 03A.MSS
  ** Bad parameter name: InitialVersion; but Ref, ARef, or Text
expected on line  5136 - 03A.MSS
  ** Failed to find parameter text for InitialVersion, line  5136 - 03A.MSS
  -- Unknown 'begin' type - extend2012 on line  5386 - 03A.MSS
  ** Too many characters recorded on line  6426 - 03A.MSS
** Unhandled CONSTRAINT_ERROR
   Index or Subtype out of bounds - Pos of Error Value = -1
On Line Number 10237 In ARM_FORMAT.REAL_PROCESS.HANDLE_END_OF_COMMAND
Called from line number 10956 In ARM_FORMAT.REAL_PROCESS
Called from line number 11068 In ARM_FORMAT.PROCESS
Called from line number 1265 In ARM_MASTER.GENERATE_SOURCES
Called from line number 1336 In ARM_MASTER.READ_AND_PROCESS_MASTER_FILE
Called from line number 286 In ARM_FORMATTER
Called from line number 193 In *SYSTEM*
[end output]
So, I'm wondering, how else can I generate this? The line that causes issues is:
@Chg<Version=[4],New=[the predicates],Old=[any predicate]> of S]},
the following attributes are defined:]}
I don't see what the problem is--a program like this should be able to
handle 105 characters, right? I've tried splitting up the line into
separate lines but it still prints that same error. I'm not sure
what's causing the error as I don't have the arm_form source code. And
I don't know how to fix this. Any ideas?

***************************************************************

From: Randy Brukardt
Sent: Monday, December 12, 2016  4:53 PM

> I cannot generate the ARM version 4 (Ada 2012). I don't want to
> generate Ada version 5 (Ada 202X). (Just wondering, but is the 202X in
> the reference name mean Ada 2017?)

No, it means whatever the *next* version of Ada is. Version 3 is original Ada
2012; version 4 is Ada 2012 + TC1.

> When I do, I
> get a large quantity of errors. Here is the full output of
> arm_form.exe:
> [output start]
> Ada Manual formatter
>   Copyright 2000, 2002, 2004, 2005, 2006, 2011, 2012  AXE Consultants

Based on this copyright, you've got the 2012 version of the formatter tool.

...
> -- Processing 01.MSS
>   -- Unknown 'begin' type - inconsistent2012 on line  1151 - 01.MSS
>   -- Unknown 'begin' type - incompatible2012 on line  1187 - 01.MSS
>   -- Unknown command (skipped) - Inconsistent2012Title on

And the source code you've got contains version 4/5 commands.

> So, I'm wondering, how else can I generate this?

You'll need to get consistent versions of the program and source files.

There are at least two ways to do this:

(1) Extract the 2012 source files from the VCS and use those. You can find the
right files by using the tag "Ada2012_Final". But I don't think there is an
automated way to do this, you'd have to manually go into the index for each file
and find the right version. (At least there aren't a lot of files.) Start at
http://www.ada-auth.org/cgi-bin/cvsweb.cgi/arm/source/

(2) Or make a current formatting tool from the source code. Which is always
available on Ada-Auth.org, at a minimum in the VCS. (There are some ZIP files,
too, but they haven't been updated for a while). It should compile with any Ada
95 Ada compiler (although it has only been tested with Janus/Ada and GNAT to my
knowledge). The VCS can be found at
http://www.ada-auth.org/cgi-bin/cvsweb.cgi/ARM/progs/.

I'd guess you'd be better off starting with a current tool, especially if you
ultimately need to customize the results somehow. (If not, why not just use the
downloadable HTML and/or PDF versions? The downloadable versions leave out the
Ada-Auth.org headers, so they're cleaner than the on-line versions.)

                    Randy Brukardt, ACAA Technical Agent.

***************************************************************


Questions? Ask the ACAA Technical Agent