Removed the open type [Error.t] (less [assert false]).

I also had to remove the keywords [Down], [Fail] and [Step] in
PascaLIGO that made a mysterious and unwanted come back. (I did not
bother with [git blame]).
This commit is contained in:
Christian Rinderknecht 2019-12-17 14:56:16 +01:00
parent d4b750eff8
commit 35d4b64a02
12 changed files with 42 additions and 71 deletions

View File

@ -6,7 +6,6 @@ $HOME/git/ligo/vendors/ligo-utils/simple-utils/region.mli
$HOME/git/ligo/vendors/ligo-utils/simple-utils/region.ml
../shared/Lexer.mli
../shared/Lexer.mll
../shared/Error.mli
../shared/EvalOpt.ml
../shared/EvalOpt.mli
../shared/FQueue.ml

View File

@ -25,15 +25,14 @@ let () = Printexc.record_backtrace true
let external_ text =
Utils.highlight (Printf.sprintf "External error: %s" text); exit 1;;
type Error.t += ParseError
type error = SyntaxError
let error_to_string = function
ParseError -> "Syntax error.\n"
| _ -> assert false
SyntaxError -> "Syntax error.\n"
let print_error ?(offsets=true) mode Region.{region; value} ~file =
let msg = error_to_string value in
let reg = region#to_string ~file ~offsets mode in
let msg = error_to_string value
and reg = region#to_string ~file ~offsets mode in
Utils.highlight (sprintf "Parse error %s:\n%s%!" reg msg)
(** {1 Preprocessing the input source and opening the input channels} *)
@ -126,7 +125,7 @@ let () =
options#mode err ~file
| Parser.Error ->
let region = get_last () in
let error = Region.{region; value=ParseError} in
let error = Region.{region; value=SyntaxError} in
let () = close_all () in
print_error ~offsets:options#offsets
options#mode error ~file

View File

@ -6,7 +6,6 @@ $HOME/git/ligo/vendors/ligo-utils/simple-utils/region.mli
$HOME/git/ligo/vendors/ligo-utils/simple-utils/region.ml
../shared/Lexer.mli
../shared/Lexer.mll
../shared/Error.mli
../shared/EvalOpt.ml
../shared/EvalOpt.mli
../shared/FQueue.ml

View File

@ -77,10 +77,8 @@ type t =
| Case of Region.t (* "case" *)
| Const of Region.t (* "const" *)
| Contains of Region.t (* "contains" *)
| Down of Region.t (* "down" *)
| Else of Region.t (* "else" *)
| End of Region.t (* "end" *)
| Fail of Region.t (* "fail" *)
| False of Region.t (* "False" *)
| For of Region.t (* "for" *)
| From of Region.t (* "from" *)
@ -100,7 +98,6 @@ type t =
| Remove of Region.t (* "remove" *)
| Set of Region.t (* "set" *)
| Skip of Region.t (* "skip" *)
| Step of Region.t (* "step" *)
| Then of Region.t (* "then" *)
| To of Region.t (* "to" *)
| True of Region.t (* "True" *)

View File

@ -75,10 +75,8 @@ type t =
| Case of Region.t (* "case" *)
| Const of Region.t (* "const" *)
| Contains of Region.t (* "contains" *)
| Down of Region.t (* "down" *)
| Else of Region.t (* "else" *)
| End of Region.t (* "end" *)
| Fail of Region.t (* "fail" *)
| False of Region.t (* "False" *)
| For of Region.t (* "for" *)
| From of Region.t (* "from" *)
@ -98,7 +96,6 @@ type t =
| Remove of Region.t (* "remove" *)
| Set of Region.t (* "set" *)
| Skip of Region.t (* "skip" *)
| Step of Region.t (* "step" *)
| Then of Region.t (* "then" *)
| To of Region.t (* "to" *)
| True of Region.t (* "True" *)
@ -184,10 +181,8 @@ let proj_token = function
| Case region -> region, "Case"
| Const region -> region, "Const"
| Contains region -> region, "Contains"
| Down region -> region, "Down"
| Else region -> region, "Else"
| End region -> region, "End"
| Fail region -> region, "Fail"
| False region -> region, "False"
| For region -> region, "For"
| From region -> region, "From"
@ -207,7 +202,6 @@ let proj_token = function
| Remove region -> region, "Remove"
| Set region -> region, "Set"
| Skip region -> region, "Skip"
| Step region -> region, "Step"
| Then region -> region, "Then"
| To region -> region, "To"
| True region -> region, "True"
@ -276,10 +270,8 @@ let to_lexeme = function
| Case _ -> "case"
| Const _ -> "const"
| Contains _ -> "contains"
| Down _ -> "down"
| Else _ -> "else"
| End _ -> "end"
| Fail _ -> "fail"
| False _ -> "False"
| For _ -> "for"
| From _ -> "from"
@ -299,7 +291,6 @@ let to_lexeme = function
| Remove _ -> "remove"
| Set _ -> "set"
| Skip _ -> "skip"
| Step _ -> "step"
| Then _ -> "then"
| To _ -> "to"
| True _ -> "True"
@ -336,13 +327,11 @@ let keywords = [
(fun reg -> Case reg);
(fun reg -> Const reg);
(fun reg -> Contains reg);
(fun reg -> Down reg);
(fun reg -> Else reg);
(fun reg -> End reg);
(fun reg -> For reg);
(fun reg -> From reg);
(fun reg -> Function reg);
(fun reg -> Fail reg);
(fun reg -> False reg);
(fun reg -> If reg);
(fun reg -> In reg);
@ -360,7 +349,6 @@ let keywords = [
(fun reg -> Remove reg);
(fun reg -> Set reg);
(fun reg -> Skip reg);
(fun reg -> Step reg);
(fun reg -> Then reg);
(fun reg -> To reg);
(fun reg -> True reg);
@ -560,10 +548,8 @@ let is_kwd = function
| Case _
| Const _
| Contains _
| Down _
| Else _
| End _
| Fail _
| False _
| For _
| From _
@ -583,7 +569,6 @@ let is_kwd = function
| Remove _
| Set _
| Skip _
| Step _
| Then _
| To _
| True _

View File

@ -25,15 +25,14 @@ let () = Printexc.record_backtrace true
let external_ text =
Utils.highlight (Printf.sprintf "External error: %s" text); exit 1;;
type Error.t += ParseError
type error = SyntaxError
let error_to_string = function
ParseError -> "Syntax error.\n"
| _ -> assert false
SyntaxError -> "Syntax error.\n"
let print_error ?(offsets=true) mode Region.{region; value} ~file =
let msg = error_to_string value in
let reg = region#to_string ~file ~offsets mode in
let msg = error_to_string value
and reg = region#to_string ~file ~offsets mode in
Utils.highlight (sprintf "Parse error %s:\n%s%!" reg msg)
(** {1 Preprocessing the input source and opening the input channels} *)
@ -126,7 +125,7 @@ let () =
options#mode err ~file
| Parser.Error ->
let region = get_last () in
let error = Region.{region; value=ParseError} in
let error = Region.{region; value=SyntaxError} in
let () = close_all () in
print_error ~offsets:options#offsets
options#mode error ~file

View File

@ -6,7 +6,6 @@ $HOME/git/ligo/vendors/ligo-utils/simple-utils/region.mli
$HOME/git/ligo/vendors/ligo-utils/simple-utils/region.ml
../shared/Lexer.mli
../shared/Lexer.mll
../shared/Error.mli
../shared/EvalOpt.ml
../shared/EvalOpt.mli
../shared/FQueue.ml

View File

@ -25,15 +25,14 @@ let () = Printexc.record_backtrace true
let external_ text =
Utils.highlight (Printf.sprintf "External error: %s" text); exit 1;;
type Error.t += ParseError
type error = SyntaxError
let error_to_string = function
ParseError -> "Syntax error.\n"
| _ -> assert false
SyntaxError -> "Syntax error.\n"
let print_error ?(offsets=true) mode Region.{region; value} ~file =
let msg = error_to_string value in
let reg = region#to_string ~file ~offsets mode in
let msg = error_to_string value
and reg = region#to_string ~file ~offsets mode in
Utils.highlight (sprintf "Parse error %s:\n%s%!" reg msg)
(** {1 Preprocessing the input source and opening the input channels} *)
@ -126,7 +125,7 @@ let () =
options#mode err ~file
| Parser.Error ->
let region = get_last () in
let error = Region.{region; value=ParseError} in
let error = Region.{region; value=SyntaxError} in
let () = close_all () in
print_error ~offsets:options#offsets
options#mode error ~file

View File

@ -1,3 +0,0 @@
type t = ..
type error = t

View File

@ -136,11 +136,13 @@ module type S =
(* Error reporting *)
exception Error of Error.t Region.reg
type error
exception Error of error Region.reg
val print_error :
?offsets:bool -> [`Byte | `Point] ->
Error.t Region.reg -> file:bool -> unit
error Region.reg -> file:bool -> unit
end

View File

@ -159,10 +159,11 @@ module type S = sig
(* Error reporting *)
exception Error of Error.t Region.reg
type error
exception Error of error Region.reg
val print_error : ?offsets:bool -> [`Byte | `Point] ->
Error.t Region.reg -> file:bool -> unit
error Region.reg -> file:bool -> unit
end
(* The functorised interface
@ -330,22 +331,23 @@ module Make (Token: TOKEN) : (S with module Token = Token) =
(* ERRORS *)
type Error.t += Invalid_utf8_sequence
type Error.t += Unexpected_character of char
type Error.t += Undefined_escape_sequence
type Error.t += Missing_break
type Error.t += Unterminated_string
type Error.t += Unterminated_integer
type Error.t += Odd_lengthed_bytes
type Error.t += Unterminated_comment
type Error.t += Orphan_minus
type Error.t += Non_canonical_zero
type Error.t += Negative_byte_sequence
type Error.t += Broken_string
type Error.t += Invalid_character_in_string
type Error.t += Reserved_name
type Error.t += Invalid_symbol
type Error.t += Invalid_natural
type error =
Invalid_utf8_sequence
| Unexpected_character of char
| Undefined_escape_sequence
| Missing_break
| Unterminated_string
| Unterminated_integer
| Odd_lengthed_bytes
| Unterminated_comment
| Orphan_minus
| Non_canonical_zero
| Negative_byte_sequence
| Broken_string
| Invalid_character_in_string
| Reserved_name
| Invalid_symbol
| Invalid_natural
let error_to_string = function
Invalid_utf8_sequence ->
@ -393,9 +395,8 @@ module Make (Token: TOKEN) : (S with module Token = Token) =
Hint: Check the LIGO syntax you use.\n"
| Invalid_natural ->
"Invalid natural."
| _ -> assert false
exception Error of Error.t Region.reg
exception Error of error Region.reg
let print_error ?(offsets=true) mode Region.{region; value} ~file =
let msg = error_to_string value in

View File

@ -7,20 +7,15 @@
simple-utils
uutf
getopt
zarith
)
zarith)
(modules
Error
Lexer
LexerLog
Utils
Markup
FQueue
EvalOpt
Version
)
(modules_without_implementation Error)
)
Version))
(rule
(targets Version.ml)