diff options
Diffstat (limited to 'debugger/parser.mly')
| -rw-r--r-- | debugger/parser.mly | 239 |
1 files changed, 0 insertions, 239 deletions
diff --git a/debugger/parser.mly b/debugger/parser.mly deleted file mode 100644 index 6c7b2ddb26..0000000000 --- a/debugger/parser.mly +++ /dev/null @@ -1,239 +0,0 @@ -/***********************************************************************/ -/* */ -/* Objective Caml */ -/* */ -/* Jerome Vouillon, projet Cristal, INRIA Rocquencourt */ -/* Objective Caml port by John Malecki and Xavier Leroy */ -/* */ -/* Copyright 1996 Institut National de Recherche en Informatique et */ -/* en Automatique. All rights reserved. This file is distributed */ -/* under the terms of the Q Public License version 1.0. */ -/* */ -/***********************************************************************/ - -/* $Id$ */ - -%{ - -open Int64ops -open Primitives -open Input_handling -open Longident -open Parser_aux - -%} - -%token <string> ARGUMENT -%token <string> LIDENT -%token <string> UIDENT -%token <string> OPERATOR -%token <int64> INTEGER -%token STAR /* * */ -%token MINUS /* - */ -%token DOT /* . */ -%token SHARP /* # */ -%token AT /* @ */ -%token DOLLAR /* $ */ -%token BANG /* ! */ -%token LPAREN /* ( */ -%token RPAREN /* ) */ -%token LBRACKET /* [ */ -%token RBRACKET /* ] */ -%token EOL - -%right DOT -%right BANG - -%start argument_list_eol -%type <string list> argument_list_eol - -%start argument_eol -%type <string> argument_eol - -%start integer_list_eol -%type <int list> integer_list_eol - -%start integer_eol -%type <int> integer_eol - -%start int64_eol -%type <int64> int64_eol - -%start integer -%type <int> integer - -%start opt_integer_eol -%type <int option> opt_integer_eol - -%start opt_signed_integer_eol -%type <int option> opt_signed_integer_eol - -%start opt_signed_int64_eol -%type <int64 option> opt_signed_int64_eol - -%start identifier -%type <string> identifier - -%start identifier_eol -%type <string> identifier_eol - -%start identifier_or_eol -%type <string option> identifier_or_eol - -%start opt_identifier -%type <string option> opt_identifier - -%start opt_identifier_eol -%type <string option> opt_identifier_eol - -%start expression_list_eol -%type <Parser_aux.expression list> expression_list_eol - -%start break_argument_eol -%type <Parser_aux.break_arg> break_argument_eol - -%start list_arguments_eol -%type <string option * int option * int option> list_arguments_eol - -%start end_of_line -%type <unit> end_of_line - -%start longident_eol -%type <Longident.t> longident_eol - -%% - -/* Raw arguments */ - -argument_list_eol : - ARGUMENT argument_list_eol - { $1::$2 } - | end_of_line - { [] }; - -argument_eol : - ARGUMENT end_of_line - { $1 }; - -/* Integer */ - -integer_list_eol : - INTEGER integer_list_eol - { (to_int $1) :: $2 } - | end_of_line - { [] }; - -integer_eol : - INTEGER end_of_line - { to_int $1 }; - -int64_eol : - INTEGER end_of_line - { $1 }; - -integer : - INTEGER - { to_int $1 }; - -opt_integer_eol : - INTEGER end_of_line - { Some (to_int $1) } - | end_of_line - { None }; - -opt_int64_eol : - INTEGER end_of_line - { Some $1 } - | end_of_line - { None }; - -opt_signed_integer_eol : - MINUS integer_eol - { Some (- $2) } - | opt_integer_eol - { $1 }; - -opt_signed_int64_eol : - MINUS int64_eol - { Some (Int64.neg $2) } - | opt_int64_eol - { $1 }; - -/* Identifiers and long identifiers */ - -longident : - LIDENT { Lident $1 } - | module_path DOT LIDENT { Ldot($1, $3) } - | OPERATOR { Lident $1 } -; - -module_path : - UIDENT { Lident $1 } - | module_path DOT UIDENT { Ldot($1, $3) } -; - -longident_eol : - longident end_of_line { $1 }; - -identifier : - LIDENT { $1 } - | UIDENT { $1 }; - -identifier_eol : - identifier end_of_line { $1 }; - -identifier_or_eol : - identifier { Some $1 } - | end_of_line { None }; - -opt_identifier : - identifier { Some $1 } - | { None }; - -opt_identifier_eol : - opt_identifier end_of_line { $1 }; - -/* Expressions */ - -expression: - longident { E_ident $1 } - | STAR { E_result } - | DOLLAR INTEGER { E_name (to_int $2) } - | expression DOT INTEGER { E_item($1, (to_int $3)) } - | expression DOT LBRACKET INTEGER RBRACKET { E_item($1, (to_int $4)) } - | expression DOT LPAREN INTEGER RPAREN { E_item($1, (to_int $4)) } - | expression DOT LIDENT { E_field($1, $3) } - | BANG expression { E_field($2, "contents") } - | LPAREN expression RPAREN { $2 } -; - -/* Lists of expressions */ - -expression_list_eol : - expression expression_list_eol { $1::$2 } - | end_of_line { [] } -; - -/* Arguments for breakpoint */ - -break_argument_eol : - end_of_line { BA_none } - | integer_eol { BA_pc $1 } - | expression end_of_line { BA_function $1 } - | AT opt_identifier INTEGER opt_integer_eol { BA_pos1 ($2, (to_int $3), $4)} - | AT opt_identifier SHARP integer_eol { BA_pos2 ($2, $4) } -; - -/* Arguments for list */ - -list_arguments_eol : - opt_identifier integer opt_integer_eol - { ($1, Some $2, $3) } - | opt_identifier_eol - { ($1, None, None) }; - -/* End of line */ - -end_of_line : - EOL { stop_user_input () } -; |
