Commit Graph

81 Commits (master)

Author SHA1 Message Date
muskangarg21 4019c33aaa
Stdlib: added Printf.ikbprintf, Printf.ibprintf (#9364) 2020-03-26 14:28:00 +01:00
Pierre Roux 1e3cd41fe7 Add printf `%#F` to output floats in hexadecimal OCaml constants 2019-09-26 15:55:32 +02:00
Pierre Roux ed74b5b237 Enforce precision in printf %F 2019-03-09 12:03:43 +01:00
ygrek 3a978584d5 Add Changes entry and update Printf doc 2018-05-28 17:52:33 -07:00
octachron 01ab35a3da PR#7507: updated description for printf "%g"
Align the description of the printf conversion specification "%g"
with the ISO C90 description by mentioning the removal of trailing zeros
and decimal-point character.
2017-05-08 14:26:31 +02:00
Török Edwin 20f61d7fb4 Documentation: improve @since annotations
Add missing @since annotations for OCaml versions 4.00.0 - 4.05.0,
and fix existing annotations as needed:

Format.ikprintf: clarify ambiguity on @since 4.0 annotation
See b81519668f

Hashtbl.is_randomized and ListLabels.sort_uniq should be @since 4.03
List.sort_uniq is 4.02 but ListLabels.sort_uniq is 4.03
See:
512d128918
189d29bfcf
2017-02-21 17:11:51 +02:00
Damien Doligez 5401ce8473 Update headers for the new license.
Remains to be done: remove all headers in testsuite/tests.
2016-02-18 16:59:16 +01:00
Xavier Leroy 0c5e862a3e GPR#268: Hexadecimal notation for floating-point numbers
Merge of branch 'hex-float'.

- Add support in byterun/floats.c for conversions between floats and strings in hex notation. We cannot rely on the C standard library here because Microsoft consistently fails at supporting hex notation as standardized in C99. Instead, the conversions are implemented from scratch.
- Add support in the lexer so that hex float literals are recognized in OCaml sources.
- Add support in formats. The ISO C99 format letters for hex floats are %a and %A, but %a is already taken. I chose %h and %H, which are rejected today as bad formats (hence no backward incompatibility) and don't mean anything in C either (h is a modifier, not a format letter).
- Add support in printf. All the trimmings are there in the implementation of %h and %H, including sign modifier and fixed precision.
- Benoit Vaugon contributed support in scanf.

Resolved conflicts:
	boot/ocamlc
	boot/ocamldep
	boot/ocamllex
	parsing/lexer.mll
2015-11-19 10:37:20 +01:00
Gabriel Scherer ed057488f2 Order type variables in format parameters
(Maxence Guesdon)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16310 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-02 15:37:00 +00:00
Gabriel Scherer 0b1575a6b0 GPR#201: Keep general types of Printf.{ifprintf,ikfprintf}
(Maxence Guesdon)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16309 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-02 15:36:58 +00:00
Leo White 5c55e4cc08 Attach documentation comments to Parsetree
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16189 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-06-28 13:11:50 +00:00
Damien Doligez 031cffd155 merge branch 4.02 from release 4.02.0 to release 4.02.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15558 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-10-15 13:34:58 +00:00
Gabriel Scherer 72669307e8 second part of Benoît Vaugon's format+gadts patch
To finish the bootstrap cycle, run:

  make library-cross
  make promote
  make partialclean
  make core

  make library-cross
  make promote-cross
  make partialclean
  make ocamlc ocamllex ocamltools

  make library-cross
  make promote
  make partialclean
  make core
  make compare

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14810 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12 15:37:37 +00:00
Pierre Weis f5e0923469 Better documentation of meta format conversion.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13714 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-29 16:44:12 +00:00
Pierre Weis 3e110da03d Details.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13608 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-25 09:11:44 +00:00
Pierre Weis 2ad00ac0ad Exporting count_printing_arguments_of_format and add_int_index.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13605 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-24 14:54:58 +00:00
Damien Doligez def31744f9 remove all $Id keywords
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13013 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-15 17:50:56 +00:00
Pierre Weis b81519668f Doc: better phrasing for %,. Introducing ikfprintf.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12342 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-11 18:00:32 +00:00
Damien Doligez f95e7f4a59 uniformization of the warnings at the head of the hidden sections of the .mli
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12243 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-14 16:03:15 +00:00
Damien Doligez b4ccb873a6 PR#5380: copy fix from 3.12 branch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12014 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-11 15:22:51 +00:00
Damien Doligez cca0035fbb continuing to change the name to OCaml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11922 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-21 15:37:54 +00:00
Damien Doligez 3b507dd1aa renaming of Objective Caml to OCaml and cleanup of copyright headers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11156 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-27 14:17:02 +00:00
Damien Doligez c91db736b1 merge changes from 3.12.0 to 3.12.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11123 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-20 09:17:07 +00:00
Damien Doligez 9209d550c5 PR#4831: use tags @since and @before in std lib
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10457 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-21 18:30:12 +00:00
Pierre Weis bdd01e7371 Introducing nop format delimiter %,
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9430 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-11-30 21:51:08 +00:00
Pierre Weis 579eb1e41e Documentation.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9040 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-09-27 20:50:01 +00:00
Pierre Weis 10b38811b6 Support for tk8.5: correcting tk_incs.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8899 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-07-01 09:55:52 +00:00
Damien Doligez 9ea5edac9a merge changes 3.10.0 -> 3.10.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8768 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-01-11 16:13:18 +00:00
Pierre Weis 236baa6ee4 Encapsulation of system specific exports in module Printf.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7735 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-11-17 08:34:05 +00:00
Pierre Weis 9bc5cb17bf New type ac (argument counting for format strings). Private export of new function ac_of_format for Scanf (and the typechecker).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7721 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-11-06 10:22:02 +00:00
Pierre Weis 044ac2610c New function ifprintf that does not print. (See request #0004031.)
Ifprintf is a one-liner using implementation tools from Printf, whereas it is
not possible to write it in pure Caml.
Useful to conditionally ignore printing.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7717 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-11-06 09:12:53 +00:00
Pierre Weis fa5b7ef147 Sub module Sformat now deals with format6.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7703 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-10-24 21:11:48 +00:00
Pierre Weis ae5fcbb4c2 Documentation.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7690 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-10-15 21:58:28 +00:00
Pierre Weis cf0590146f Code review before adding new typing of format string.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7396 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-05-04 12:52:22 +00:00
Pierre Weis 176b3c0da8 Module Sformat is internal to printf. Better typing specifications of functions working with format strings.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7374 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-04-05 11:49:07 +00:00
Damien Doligez 125ea40d4c fusion 3.09.0 -> 3.09.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7307 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-01-04 16:55:50 +00:00
Pierre Weis 922746e675 Implementing positional parameters in format string. First step:
runtime implementation for printf-like functions.
Revising printf documentation and adding something for positional
parameters.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7082 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-09-26 10:12:01 +00:00
Pierre Weis 339b08f82f Closing a long standing bug in the implementation of printf-like
functions: partially applied printf functions were printing material
as soon as the first argument was applied (and even before: printing
started as soon as the format string was provided).
This is the first step towards the implementation of $ formats
(i.e. formats that can access directly to any of their arguments,
using a $n notation to denote the nth argument (``a la Yacc'')). This
is supposed to be mandatory to internationalisation of messages.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7060 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-09-20 17:18:03 +00:00
Pierre Weis 564969e68c Documentation.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7049 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-09-13 15:44:02 +00:00
Xavier Leroy abb2a740b4 Doc %F (PR#3541)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7004 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-08-02 09:21:24 +00:00
Pierre Weis 32e84c0515 Homogènésation des interfaces de printf et format: kprintf est marquée
obsolète au profit de ksprintf; on introduit kfprintf.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6979 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-07-22 12:21:02 +00:00
Pierre Weis ccb93aeb98 Sub_format is shared between static and dynamic semantics of the language.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6727 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-12-07 06:18:14 +00:00
Pierre Weis 09b2253f0e Doc (typos).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6677 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-11-16 10:25:59 +00:00
Pierre Weis fe5f184972 Documentation.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6625 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-10-04 20:18:17 +00:00
Pierre Weis b0270c4cf9 Implementation des meta formats.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6621 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-09-22 09:17:21 +00:00
Xavier Leroy 1a4be860d0 Renommage type format -> format4 et reintroduction type format a 3 arguments pour compatibilite arriere
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5658 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-07-05 11:13:24 +00:00
Damien Doligez 0a1f0f864b desactivation du format %$
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5644 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-07-02 14:06:05 +00:00
Damien Doligez b37e53cef1 PR#1675, voir aussi PR#1438
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5641 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-07-01 16:30:12 +00:00
Pierre Weis 0df4ab0392 Documentation.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5567 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-05-14 17:52:40 +00:00
Pierre Weis 1623dc13fc Documentation.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5520 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-04-28 10:21:57 +00:00