Gabriel Scherer
d22b112968
ocamllex: user-definable refill actions (patch by Frédéric Bour)
...
The patch introduces a new "refill" action. It's optional and if
unused the lexer specification and behavior are unchanged.
When specified, it allows the user to control the way the lexer is
refilled. For example, an appropriate refill handler could perform the
blocking operations of refilling under a concurrency monad such as Lwt
or Async, to work better in a cooperative concurrency setting.
To make use of this feature, add
refill {refill_function}
between the header and the first rule.
[refill_function] is a function which will be invoked by the lexer
immediately before refilling the buffer. The function will receive as
arguments the continuation to invoke to resume the lexing, and the
current lexing buffer.
More precisely, it's a function of type:
(Lexing.lexbuf -> 'a) -> Lexing.lexbuf -> 'a
where the first argument is the continuation which captures the
processing ocamllex would usually perform (refilling the buffer, then
calling the lexing function again), and the result type ['a] should
unify with the result types of all rules.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14461 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-14 15:39:32 +00:00
Alain Frisch
eddb6e86d9
Typo ( #6190 ).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14177 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-25 07:16:21 +00:00
Damien Doligez
c63f9e0957
fix a few problems with whitespace and over-long lines
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13393 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-09 22:38:52 +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
Alain Frisch
05c973e6ed
Compile with warning 33, and remove unused opens.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12497 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-29 11:10:03 +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
31b0292413
renaming "Objective Caml" to "OCaml" (first pass)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11015 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-04-26 12:16:50 +00:00
Damien Doligez
3bba52b91c
PR#4857: add -vnum option to all executables
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10444 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-05-20 14:06:29 +00:00
Damien Doligez
04b1656222
clean up spaces and tabs
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9547 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-01-22 12:48:24 +00:00
Damien Doligez
c3a39fc8c8
Fusion des modifs de la branche release308 entre 3.08.0 et 3.08.1
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6612 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-08-20 17:04:35 +00:00
Luc Maranget
5040085fe2
character set difference
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6269 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-04-29 11:12:49 +00:00
Damien Doligez
7405556404
directives #line pour lex et yacc
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6244 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-04-21 23:26:06 +00:00
Damien Doligez
14abe89d55
PR#1888
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5894 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-11-06 15:12:44 +00:00
Luc Maranget
bba998aa9a
detail
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5830 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-09-11 14:51:06 +00:00
Damien Doligez
d200cf6df1
PR#1803
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5815 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-08-29 17:33:45 +00:00
Luc Maranget
7d9a7ba149
broutilles dans ocamllex, echec sur zero argument
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5770 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-08-11 11:56:16 +00:00
Luc Maranget
b3a4475729
documentation of ocamllex command-line options
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5731 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-07-24 08:37:34 +00:00
Damien Doligez
123fb9f713
changement des locations, deuxieme tranche
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5232 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-11-02 22:36:46 +00:00
Luc Maranget
c417b82d9e
nouveau ocamllex
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5193 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-10-28 16:46:50 +00:00
Daniel de Rauglaudre
72f429f49e
Généralisation de certains types afin que les fichiers cmo puissent être
...
utilisés dans l'extension de syntaxe pa_ocamllex.ml d'Alain Frisch. Ajouté
syntax.ml, copie de syntax.mli, pour pa_ocamllex.ml (problème avec Dynlink,
mais qui pourra être résolu un jour peut-être).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4218 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-01-04 10:01:50 +00:00
Xavier Leroy
cc0f32b054
Changement de la licence
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2553 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-17 18:59:06 +00:00
Xavier Leroy
3e3d57a3e4
Detection des debordements de tables
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1969 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-05-26 09:56:41 +00:00
Xavier Leroy
56fafddd87
Generation de messages # lineno
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1930 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-04-23 08:24:50 +00:00
Xavier Leroy
fa45b038f6
Retour en arriere sur le traitement des fins de lignes
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1216 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-12-10 10:42:07 +00:00
Xavier Leroy
29fdaf2ba9
Utiliser le mode texte pour copier les morceaux de l'entree vers la
...
sortie (evite les \r\r\n a la fin des lignes sous Windows).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1213 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-12-03 15:51:53 +00:00
Xavier Leroy
3433f745f1
Rectif. message d'usage.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@862 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-06-04 15:12:23 +00:00
Xavier Leroy
2301d778e7
Renommage en Objective Caml
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@782 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-04-30 14:53:58 +00:00
Xavier Leroy
22bc127a92
csllex utilise un automate a pile
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@667 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-02-25 14:45:47 +00:00
Xavier Leroy
e0adbdd1f4
Ajout d'un trailer dans les fichiers .mll.
...
Nettoyages.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@224 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-25 13:54:14 +00:00
Xavier Leroy
e4066357b1
Ajout des notices de copyright
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@195 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-09 15:06:35 +00:00
Xavier Leroy
61bd8ace6b
Passage a la version bootstrappee (franchissement du Rubicon)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-05-04 10:15:53 +00:00