Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Fortran > [Tools] Ход реализации компиляторов Fortran 2003


Автор: Cr@$h 13.7.2006, 22:20
Многим будет интересно прослеживать продвижение стандарта F03 и ход его реализации.

Предлагаю здесь размещать информацию об уже реализованных средствах стандарта в различных компиляторах.

Кому что попадётся, кто что найдёт. Желательно указывать также версию компилятора и, возможно, ссылку на его сайт, если несложно. Думаю, подойдёт и просто ссылка на страницу со спиком реализованных средств F03 в компиляторе.

В этом посте на основе информации из темы я буду обновлять список компиляторов, в которых уже реализованы некоторые средства Fortran 2003:
  • http://www.absoft.com/Products/Compilers/Fortran/Windows/32bit/windows.html
  • http://g95.sourceforge.net/
  • http://www-306.ibm.com/software/awdtools/fortran/xlfortran/features/linux/
  • http://www.intel.com/cd/software/products/asmo-na/eng/compilers/284132.htm
  • http://www.nag.com/nagware/np.asp
  • http://www.silverfrost.com/11/ftn95/overview.asp
  • http://developers.sun.com/prodtech/cc/compilers_index.html
 

Автор: Cr@$h 13.7.2006, 22:57
http://www.intel.com/cd/software/products/asmo-na/eng/compilers/fwin/278834.htm

В IFVC 9.1 реализованы следующие средства Fortran 2003:
  • GET_COMMAND intrinsic 
  • GET_COMMAND_ARGUMENT intrinsic 
  • COMMAND_ARGUMENT_COUNT intrinsic 
  • GET_ENVIRONMENT_VARIABLE intrinsic 
  • Allocatable components of derived types 
  • Allocatable dummy arguments 
  • Allocatable function results 
  • VOLATILE attribute and statement 
  • Names of length up to 63 characters 
  • Statements up to 256 lines 
  • A named PARAMETER constant may be part of a complex constant 
  • In all I/O statements, the following numeric values can be of any kind: 
    UNIT=, IOSTAT= 
  • The following OPEN numeric values can be of any kind: RECL= 
  • The following READ and WRITE numeric values can be of any kind: REC=, SIZE= 
  • The following INQUIRE numeric values can be of any kind: NEXTREC=, NUMBER=, RECL=, SIZE= 
  • Recursive I/O is allowed when the new I/O being started is internal I/O that does not modify any internal file other than its own 
  • IEEE infinities and Nans are displayed by formatted output as specified by Fortran 2003 
  • In an I/O format, the comma after a P edit descriptor is optional when followed by a repeat specifier 
  • The following intrinsics take an optional KIND= argument: ACHAR, COUNT, IACHAR, ICHAR, INDEX, LBOUND, LEN, LEN_TRIM, MAXLOC, MINLOC, SCAN, SHAPE, SIZE, UBOUND, VERIFY 
  • Square brackets [ ] are permitted to delimit array constructors instead of (/ /) 
  • The Fortran character set has been extended to contain the 8-bit ASCII characters ~ \ [ ] ` ^ { } | # @
Следующие средства F03 новые в этой версии:
  • User-defined operators can be renamed in USE statements 
  • MOVE_ALLOC intrinsic subroutine 
  • PROTECTED attribute and statement 
  • Pointer objects can have the INTENT attribute
Добавлено @ 23:03 
http://www.absoft.com/Products/Compilers/Fortran/Windows/32bit/windows.html

В APFC 9.0 реализованы следующие средства Fortran 2003:
  • Allocatable attributes for derived type components
  • IEEE floating point exception handling
  • Pointers with INTENT attributes
  • PROTECTED attributes
  • VALUE attributes
  • VOLATILE attributes
Другими недавними улучшениями являются:
  • Native QUAD REAL*16 support
  • The inclusion of IEEE_ARITHMETIC, IEEE_EXCEPTIONS, and IEEE_FEATURES modules
   

Автор: Cr@$h 13.7.2006, 23:36
http://www.lahey.com/lf71/lf71.htm

LFF 7.1 не содержит средств Fortran 2003.

Compaq Visual Fortran 6.6C

CVF не содержит средств Fortran 2003.

http://www.nag.com/nagware/np.asp

В NAGFC 5.1 реализованы следующие средства Fortran 2003:
  • IEEE modules 
  • PROTECTED attribute 
  • VALUE attribute 
  • ALLOCATABLE dummy arrays, function results and structure components
  • Type Extension 
  • Polymorphic Variables 
  • Typed allocation 
  • Type Selection 
  • Rank-remapping Pointer Assignment 
  • VOLATILE keyword
Дополнительные новые средства Fortran 2003 в этой версии:
  • C interoperability 
  • Type-bound procedures 
  • Input/output features (various) 
  • Stream input/output 
  • Abstract derived types 
  • Individual component accessibility 
  • Abstract interfaces and the PROCEDURE statement 
  • Public entities of private type 
  • The ISO_FORTRAN_ENV module 
  • The IMPORT statement 
  • INTENT for pointers 
  • Square brackets for array constructors 
  • The SOURCE= specifier on ALLOCATE 
  • Error message retrieval (ERRMSG= and IOMSG=) 
  • Access to the command line and environment variables 
  • Character kind selection
http://gcc.gnu.org/fortran/

GNUF не содержит средств Fortran 2003.  

Автор: Cr@$h 16.7.2006, 02:40
http://www.sgi.com/products/software/irix/tools/fortran.html

MIPSpro F90 7.4 не содержит средств Fortran 2003.

http://www.silverfrost.com/11/ftn95/overview.asp

В FTN95 4.9 реализованы следующие средства Fortran 2003:
The following new features in the Fortran 2003 standard are available in FTN95. These extensions are automatically available when using FTN95 for .NET. For Win32 you must use /F2K. That is, /CLR implies /F2K.
  • TYPE_ALIAS and ENUM
  • Square brackets in array constructors, for example
    Код

    INTEGER :: a(5) = [1, 2, 3, 4, 5]
  • The command line intrinsics GET_COMMAND, COMMAND_ARGUMENT_COUNT, and GET_COMMAND_ARGUMENT.
  • Names of length up to 63 characters are permitted.
For .NET, note also:
The ENUM type is not compatible with the .NET System.Enum type but FTN95 also allows you to use .NET enumerators (see .NET enumerated types).
The Fortran 2003 use of TYPE_ALIAS is extended in FTN95 to include .NET OBJECTs. For example:
Код

TYPE_ALIAS decimal => OBJECT('System.Decimal')
TYPE(decimal) :: var1, var2


http://g95.sourceforge.net/

В g95 4.0.3 реализованы следующие средства Fortran 2003:
  • Доступны следующие встроенные процедуры:
    • COMMAND_ARGUMENT_COUNT
    • GET_COMMAND
    • GET_COMMAND_ARGUMENT
    • GET_ENVIRONMENT_VARIABLE
  • TR 15581 - allocatable derived types. Allows the use of the ALLOCATABLE attribute on dummy arguments, function results, and structure components.
  • Stream I/O - F2003 stream access allows a Fortran program to read and write binary files without worrying about record structures. For example:
    Код

    character(len=5) :: a
    open(7, file='output', status='old', access='stream')
    read(7, pos=5) a
    close(7)
    print *, a

    Reads five bytes directly from position 5 of the 'output' file. I/O can be formatted or unformatted. The INQUIRE statement has also been enhanced to add a POS= tag which returns the current position of the stream file, for a future READ or WRITE.
    Note: ACCESS='transparent' is equivalent to access='stream'
  • IMPORT - can be used in an interface body to enable access to entities of the host scoping unit.
  • European convention for real numbers - a decimal='comma' tag in open, read and write statements allows replacement of the decimal point in real numbers with a comma.
  • MIN() and MAX() work with character as well as numeric types.
  • A type declaration attribute of VALUE for the dummy argument of a subprogram causes the actual argument to be passed by value.
  • F2003 style structure constructors are supported.
  • F2003 style procedure pointers are supported.
  • F2003's BIND© construct is supported, providing easier C interoperability.
   

Автор: Cr@$h 16.7.2006, 03:09
http://www.pathscale.com/ekopath.html

ECOPF 2.5 не содержит средств Fortran 2003.

Добавлено @ 03:19 
http://developers.sun.com/prodtech/cc/compilers_index.html

В SS 11 F95 реализованы следующие http://docs.sun.com/source/819-3686/B_newfeatures.html:
  • Some new formatted I/O features proposed for the next Fortran standard have been implemented in this release of f95. These are the DECIMAL=, ROUND=, and IOMSG= specifiers, and they may appear in OPEN, READ, WRITE, PRINT, and INQUIRE statements. Also implemented are the DP, DC, RP, and RC edit descriptors. See http://docs.sun.com/source/819-3686/4_f95.html#58343 for details.
  • Exceptions and IEEE Arithmetic:
    New intrinsic modules IEEE_ARITHMETIC, and IEEE_FEATURES provide support for exceptions and IEEE arithmetic in the Fortran language. See http://docs.sun.com/source/819-3686/4_f95.html#37095.
  • Interoperability with C:
    The new draft standard for Fortran provides a means of referencing C language procedures and, conversely, a means of specifying that a Fortran subprogram can be referenced from a C function. It also provides a means of declaring global variables that are linked with external C variables. See http://docs.sun.com/source/819-3686/4_f95.html#43667.
  • PROTECTED Attribute
    The Fortran 95 compiler now accepts the Fortran 2000 PROTECTED attribute. PROTECTED imposes limitations on the usage of module entities. Objects with the PROTECTED attribute are only definable within the module that declares them. http://docs.sun.com/source/819-3686/4_f95.html#83494.
  • ASYNCHRONOUS I/O Specifier
    The compiler recognizes the ASYNCHRONOUS specifier on I/O statements:
    Код

    ASYNCHRONOUS=['YES' | 'NO'] 

    This syntax is as proposed in the draft standard. See http://docs.sun.com/source/819-3686/4_f95.html#99815.
  • Fortran 2003 Command-Line Intrinsics
    The Fortran 2003 draft standard introduces three new intrinsics for processing command-line arguments and environment variables. These have been implemented in this release of the f95 compiler. The new intrinsics are:
    • GET_COMMAND(command, length, status)
      Returns in command the entire command line that invoked the program. 
    • GET_COMMAND_ARGUMENT(number, value, length, status)
      Returns a command-line argument in value. 
    • GET_ENVIRONMENT_VARIABLE(name, value, length, status, trim_name)
      Return the value of an environment variable.
 

Автор: Cr@$h 16.7.2006, 20:29
http://www-306.ibm.com/software/awdtools/fortran/xlfortran/features/linux/

В XLF AE 10.1 реализованы некоторые средства Fortran 2003. Отдельного списка не нашёл. Всю информацио можно посмотреть в справочнике по языку http://www-1.ibm.com/support/docview.wss?rs=43&context=SSEP9Q&dc=DA410&uid=swg27007018&loc=en_US&cs=utf-8&lang=en. Средства Fortran 2003 в справочнике выделяются пометками:
Цитата

---------- Fortran 2003 Standard ----------
Text delineating Fortran 2003 standard-specific information.
---------- End of Fortran 2003 Standard ----------
  

Автор: Cr@$h 16.7.2006, 23:41
http://www.openwatcom.org/index.php/Main_Page

OWF 1.5 не содержит средств Fortran 2003. 

Автор: Cr@$h 7.10.2006, 03:27
http://www.pgroup.com/products/pvf.htm

PVF 6.2-3 не содержит средств Fortran 2003.

http://www.pgroup.com/products/cdkindex.htm

PGHPF удовлетворяет спецификации 1.1 http://www.pgroup.com/resources/hpf.htm с небольшими ограничениями.

HPF был полностью включён в F95, правда, я не знаю, начиная с какой версии.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)