diff options
author | Shashank | 2017-05-29 12:40:26 +0530 |
---|---|---|
committer | Shashank | 2017-05-29 12:40:26 +0530 |
commit | 0345245e860375a32c9a437c4a9d9cae807134e9 (patch) | |
tree | ad51ecbfa7bcd3cc5f09834f1bb8c08feaa526a4 /modules/scicos/src/xml2modelica | |
download | scilab_for_xcos_on_cloud-0345245e860375a32c9a437c4a9d9cae807134e9.tar.gz scilab_for_xcos_on_cloud-0345245e860375a32c9a437c4a9d9cae807134e9.tar.bz2 scilab_for_xcos_on_cloud-0345245e860375a32c9a437c4a9d9cae807134e9.zip |
CMSCOPE changed
Diffstat (limited to 'modules/scicos/src/xml2modelica')
36 files changed, 2247 insertions, 0 deletions
diff --git a/modules/scicos/src/xml2modelica/linenum.cmi b/modules/scicos/src/xml2modelica/linenum.cmi Binary files differnew file mode 100755 index 000000000..d65e538f8 --- /dev/null +++ b/modules/scicos/src/xml2modelica/linenum.cmi diff --git a/modules/scicos/src/xml2modelica/linenum.cmx b/modules/scicos/src/xml2modelica/linenum.cmx Binary files differnew file mode 100755 index 000000000..b2a53f070 --- /dev/null +++ b/modules/scicos/src/xml2modelica/linenum.cmx diff --git a/modules/scicos/src/xml2modelica/linenum.ml b/modules/scicos/src/xml2modelica/linenum.ml new file mode 100755 index 000000000..d93117dfe --- /dev/null +++ b/modules/scicos/src/xml2modelica/linenum.ml @@ -0,0 +1,139 @@ +# 23 "src/xml2modelica/linenum.mll" + + +(** Convert {! Parser.location } to line and column numbers. *) + +let linenum = ref 0 +let linebeg = ref 0 + + +# 11 "src/xml2modelica/linenum.ml" +let __ocaml_lex_tables = { + Lexing.lex_base = + "\000\000\254\255\001\000\255\255"; + Lexing.lex_backtrk = + "\255\255\255\255\000\000\255\255"; + Lexing.lex_default = + "\000\000\000\000\255\255\000\000"; + Lexing.lex_trans = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\003\000\003\000\000\000\002\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \001\000\000\000"; + Lexing.lex_check = + "\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\000\000\002\000\255\255\000\000\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \000\000\255\255"; + Lexing.lex_base_code = + ""; + Lexing.lex_backtrk_code = + ""; + Lexing.lex_default_code = + ""; + Lexing.lex_trans_code = + ""; + Lexing.lex_check_code = + ""; + Lexing.lex_code = + ""; +} + +let rec skip_line lexbuf = + __ocaml_lex_skip_line_rec lexbuf 0 +and __ocaml_lex_skip_line_rec lexbuf __ocaml_lex_state = + match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with + | 0 -> +# 34 "src/xml2modelica/linenum.mll" + ( incr linenum; + linebeg := Lexing.lexeme_start lexbuf; + Lexing.lexeme_end lexbuf ) +# 110 "src/xml2modelica/linenum.ml" + + | 1 -> +# 38 "src/xml2modelica/linenum.mll" + ( incr linenum; + linebeg := Lexing.lexeme_start lexbuf; + raise End_of_file ) +# 117 "src/xml2modelica/linenum.ml" + + | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; + __ocaml_lex_skip_line_rec lexbuf __ocaml_lex_state + +;; + +# 42 "src/xml2modelica/linenum.mll" + + +let for_position file loc = + let ic = open_in_bin file in + let lb = Lexing.from_channel ic in + linenum := 1; + linebeg := 0; + begin try + while skip_line lb <= loc do () done + with End_of_file -> () + end; + close_in ic; + (!linenum - 1, !linebeg) + + +# 140 "src/xml2modelica/linenum.ml" diff --git a/modules/scicos/src/xml2modelica/linenum.mll b/modules/scicos/src/xml2modelica/linenum.mll new file mode 100755 index 000000000..c043e44b3 --- /dev/null +++ b/modules/scicos/src/xml2modelica/linenum.mll @@ -0,0 +1,56 @@ +(* + * Translator from Modelica 2.x to flat Modelica + * + * Copyright (C) 2005 - 2007 Imagine S.A. + * For more information or commercial use please contact us at www.amesim.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + *) + +{ + +(** Convert {! Parser.location } to line and column numbers. *) + +let linenum = ref 0 +let linebeg = ref 0 + +} + +rule skip_line = parse + | [^ '\n' '\r']* ('\n' | '\r' | "\r\n") + { incr linenum; + linebeg := Lexing.lexeme_start lexbuf; + Lexing.lexeme_end lexbuf } + | [^ '\n' '\r']* eof + { incr linenum; + linebeg := Lexing.lexeme_start lexbuf; + raise End_of_file } + +{ + +let for_position file loc = + let ic = open_in_bin file in + let lb = Lexing.from_channel ic in + linenum := 1; + linebeg := 0; + begin try + while skip_line lb <= loc do () done + with End_of_file -> () + end; + close_in ic; + (!linenum - 1, !linebeg) + +} diff --git a/modules/scicos/src/xml2modelica/linenum.o b/modules/scicos/src/xml2modelica/linenum.o Binary files differnew file mode 100755 index 000000000..ab0861a93 --- /dev/null +++ b/modules/scicos/src/xml2modelica/linenum.o diff --git a/modules/scicos/src/xml2modelica/makefile.mak b/modules/scicos/src/xml2modelica/makefile.mak new file mode 100755 index 000000000..d0291b883 --- /dev/null +++ b/modules/scicos/src/xml2modelica/makefile.mak @@ -0,0 +1,61 @@ +# Scicos +# +# Copyright (C) INRIA - scilab +# Copyright (C) DIGITEO - 2009 - Allan CORNET +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See the file ./license.txt + +!IF "$(OCAMLLIB)" == "" +OCAMLPATH=C:\Program Files\Objective Caml +!ELSE +OCAMLPATH=$(OCAMLLIB)\.. +!ENDIF + +OCAMLPATHBIN=$(OCAMLPATH)\bin +OCAMLPATHLIB=$(OCAMLPATH)\lib +OCAMLC=ocamlc +OCAMLOPT=ocamlopt +OCAMLDEP=ocamldep +CAMLP4=camlp4 +OCAMLYACC=ocamlyacc +OCAMLLEX=ocamllex +RM=del +EXEC=xml2modelica.exe + +all:: + $(OCAMLOPT) -c xMLTree.ml + $(OCAMLOPT) -c linenum.ml + $(OCAMLOPT) -c stringParser.ml + $(OCAMLOPT) -c stringLexer.ml + $(OCAMLOPT) -c xMLParser.ml + $(OCAMLOPT) -c xMLLexer.ml + $(OCAMLOPT) -c modelicaCodeGenerator.ml + $(OCAMLOPT) -c xML2Modelica.ml + $(OCAMLOPT) -o $(EXEC) xMLTree.cmx linenum.cmx stringParser.cmx stringLexer.cmx xMLParser.cmx xMLLexer.cmx modelicaCodeGenerator.cmx xML2Modelica.cmx + @copy $(EXEC) ..\..\..\..\bin\$(EXEC) + +clean:: + @-$(RM) *.cmi + @-$(RM) *.cmo + @-$(RM) *.exe + @-$(RM) ..\..\..\..\bin\$(EXEC) + +distclean:: + @-$(RM) *.cmi + @-$(RM) *.cmo + @-$(RM) *.exe + diff --git a/modules/scicos/src/xml2modelica/modelicaCodeGenerator.cmi b/modules/scicos/src/xml2modelica/modelicaCodeGenerator.cmi Binary files differnew file mode 100755 index 000000000..a713a0ec4 --- /dev/null +++ b/modules/scicos/src/xml2modelica/modelicaCodeGenerator.cmi diff --git a/modules/scicos/src/xml2modelica/modelicaCodeGenerator.cmx b/modules/scicos/src/xml2modelica/modelicaCodeGenerator.cmx Binary files differnew file mode 100755 index 000000000..d45700281 --- /dev/null +++ b/modules/scicos/src/xml2modelica/modelicaCodeGenerator.cmx diff --git a/modules/scicos/src/xml2modelica/modelicaCodeGenerator.ml b/modules/scicos/src/xml2modelica/modelicaCodeGenerator.ml new file mode 100755 index 000000000..fef2e2cb0 --- /dev/null +++ b/modules/scicos/src/xml2modelica/modelicaCodeGenerator.ml @@ -0,0 +1,110 @@ +(* + * XML to Modelica + * + * Copyright (C) 2005 - 2007 Imagine S.A. + * For more information or commercial use please contact us at www.amesim.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + *) + +open XMLTree + +let start_equations = ref [] + +(* Decode XML special characters *) +let decode_spc s = + let token_fun = StringLexer.token + and lexbuf = Lexing.from_string s in + StringParser.parse token_fun lexbuf + +let generate_attributes oc attribs = + let rec modified_attributes attribs = match attribs with + | [] -> [] + | (attrib, value) :: attribs when value = "" -> + modified_attributes attribs + | (attrib, value) :: attribs -> + (attrib, value) :: (modified_attributes attribs) in + let rec generate_attributes' attribs = match attribs with + | [] -> () + | [ (attrib, value) ] -> + Printf.fprintf oc "%s = %s" attrib value + | (attrib, value) :: attribs -> + Printf.fprintf oc "%s = %s, " attrib value; + generate_attributes' attribs in + match modified_attributes attribs with + | [] -> () + | attribs -> + Printf.fprintf oc "("; + generate_attributes' attribs; + Printf.fprintf oc ")" + +let generate_code init filename model = + let generate_type_specifier oc t = match t.kind, t.output with + | Input, _ -> Printf.fprintf oc " input Real" + | (FixedParameter | Parameter), _ -> Printf.fprintf oc " parameter Real" + | Variable, true -> Printf.fprintf oc " output Real" + | DiscreteVariable, _ when init -> Printf.fprintf oc " Real" + | DiscreteVariable, _ -> Printf.fprintf oc " discrete Real" + | _ -> Printf.fprintf oc " Real" + and generate_identifier oc t = + Printf.fprintf oc " `%s`" (decode_spc t.id) + and generate_comment oc t = + Printf.fprintf oc " \"%s\";\n" (decode_spc t.comment) in + let generate_start_attribute oc t = match t.kind with + | _ when t.initial_value = "" -> () + | Variable | DiscreteVariable when t.fixed <> "true" -> + generate_attributes oc [ "start", t.initial_value ] + | Variable | DiscreteVariable -> + let equ = + Printf.sprintf "`%s` = %s;" (decode_spc t.id) t.initial_value in + start_equations := equ :: !start_equations + | FixedParameter | Parameter when t.fixed <> "false" -> + let equ = + Printf.sprintf "`%s` = %s;" (decode_spc t.id) t.initial_value in + start_equations := equ :: !start_equations + | FixedParameter | Parameter -> + Printf.fprintf oc " = %s" t.initial_value + | Input -> () in + let rec generate_sub_elements oc = function + | [] -> () + | Struct s :: elts -> + generate_sub_elements oc s.subnodes; + generate_sub_elements oc elts + | Terminal t :: elts -> + generate_terminal oc t; + generate_sub_elements oc elts + and generate_terminal oc t = + generate_type_specifier oc t; + generate_identifier oc t; + generate_start_attribute oc t; + generate_comment oc t + and generate_sub_equations oc = function + | [] -> () + | equ :: equs -> + Printf.fprintf oc " %s\n" (decode_spc equ); + generate_sub_equations oc equs in + let oc = open_out filename in + start_equations := []; + Printf.fprintf oc + "class %s\n" (Filename.chop_suffix (Filename.basename filename) ".mo"); + generate_sub_elements oc model.elements; + Printf.fprintf oc "equation\n"; + generate_sub_equations oc + (!start_equations @ model.equations @ model.when_clauses); + Printf.fprintf oc + "end %s;\n" (Filename.chop_suffix (Filename.basename filename) ".mo"); + close_out oc + diff --git a/modules/scicos/src/xml2modelica/modelicaCodeGenerator.o b/modules/scicos/src/xml2modelica/modelicaCodeGenerator.o Binary files differnew file mode 100755 index 000000000..574bac3d9 --- /dev/null +++ b/modules/scicos/src/xml2modelica/modelicaCodeGenerator.o diff --git a/modules/scicos/src/xml2modelica/stringLexer.cmi b/modules/scicos/src/xml2modelica/stringLexer.cmi Binary files differnew file mode 100755 index 000000000..0d5392157 --- /dev/null +++ b/modules/scicos/src/xml2modelica/stringLexer.cmi diff --git a/modules/scicos/src/xml2modelica/stringLexer.cmx b/modules/scicos/src/xml2modelica/stringLexer.cmx Binary files differnew file mode 100755 index 000000000..f119221e2 --- /dev/null +++ b/modules/scicos/src/xml2modelica/stringLexer.cmx diff --git a/modules/scicos/src/xml2modelica/stringLexer.ml b/modules/scicos/src/xml2modelica/stringLexer.ml new file mode 100755 index 000000000..3c1dcd4b2 --- /dev/null +++ b/modules/scicos/src/xml2modelica/stringLexer.ml @@ -0,0 +1,158 @@ +# 23 "stringLexer.mll" + + +open StringParser + +exception Illegal_character of char * int * int + + +# 10 "stringLexer.ml" +let __ocaml_lex_tables = { + Lexing.lex_base = + "\000\000\249\255\001\000\000\000\000\000\000\000\000\000\002\000\ + \000\000\255\255\001\000\254\255\000\000\002\000\002\000\253\255\ + \000\000\003\000\252\255\008\000\004\000\004\000\251\255"; + Lexing.lex_backtrk = + "\005\000\255\255\005\000\007\000\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255"; + Lexing.lex_default = + "\002\000\000\000\002\000\255\255\255\255\255\255\255\255\255\255\ + \255\255\000\000\255\255\000\000\255\255\255\255\255\255\000\000\ + \255\255\255\255\000\000\255\255\255\255\255\255\000\000"; + Lexing.lex_trans = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\003\000\255\255\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\009\000\011\000\015\000\018\000\022\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\005\000\000\000\000\000\000\000\000\000\000\000\006\000\ + \000\000\000\000\000\000\000\000\007\000\013\000\000\000\016\000\ + \012\000\004\000\014\000\017\000\010\000\019\000\008\000\020\000\ + \021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \001\000\255\255\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000"; + Lexing.lex_check = + "\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\000\000\002\000\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\008\000\010\000\014\000\017\000\021\000\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\003\000\255\255\255\255\255\255\255\255\255\255\003\000\ + \255\255\255\255\255\255\255\255\003\000\005\000\255\255\012\000\ + \005\000\003\000\013\000\016\000\006\000\004\000\007\000\019\000\ + \020\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \000\000\002\000\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255"; + Lexing.lex_base_code = + ""; + Lexing.lex_backtrk_code = + ""; + Lexing.lex_default_code = + ""; + Lexing.lex_trans_code = + ""; + Lexing.lex_check_code = + ""; + Lexing.lex_code = + ""; +} + +let rec token lexbuf = + __ocaml_lex_token_rec lexbuf 0 +and __ocaml_lex_token_rec lexbuf __ocaml_lex_state = + match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with + | 0 -> +# 32 "stringLexer.mll" + ( let _ = Lexing.lexeme lexbuf in STRING "<" ) +# 115 "stringLexer.ml" + + | 1 -> +# 33 "stringLexer.mll" + ( let _ = Lexing.lexeme lexbuf in STRING ">" ) +# 120 "stringLexer.ml" + + | 2 -> +# 34 "stringLexer.mll" + ( let _ = Lexing.lexeme lexbuf in STRING "&" ) +# 125 "stringLexer.ml" + + | 3 -> +# 35 "stringLexer.mll" + ( let _ = Lexing.lexeme lexbuf in STRING "'" ) +# 130 "stringLexer.ml" + + | 4 -> +# 36 "stringLexer.mll" + ( let _ = Lexing.lexeme lexbuf in STRING "\"" ) +# 135 "stringLexer.ml" + + | 5 -> +# 37 "stringLexer.mll" + ( let lxm = Lexing.lexeme lexbuf in STRING lxm ) +# 140 "stringLexer.ml" + + | 6 -> +# 38 "stringLexer.mll" + ( EOF ) +# 145 "stringLexer.ml" + + | 7 -> +# 39 "stringLexer.mll" + ( raise ( + Illegal_character ( + (Lexing.lexeme lexbuf).[0], + Lexing.lexeme_start lexbuf, + Lexing.lexeme_end lexbuf)) ) +# 154 "stringLexer.ml" + + | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_token_rec lexbuf __ocaml_lex_state + +;; + diff --git a/modules/scicos/src/xml2modelica/stringLexer.o b/modules/scicos/src/xml2modelica/stringLexer.o Binary files differnew file mode 100755 index 000000000..eed9fe74e --- /dev/null +++ b/modules/scicos/src/xml2modelica/stringLexer.o diff --git a/modules/scicos/src/xml2modelica/stringParser.cmi b/modules/scicos/src/xml2modelica/stringParser.cmi Binary files differnew file mode 100755 index 000000000..14005c1d5 --- /dev/null +++ b/modules/scicos/src/xml2modelica/stringParser.cmi diff --git a/modules/scicos/src/xml2modelica/stringParser.cmx b/modules/scicos/src/xml2modelica/stringParser.cmx Binary files differnew file mode 100755 index 000000000..1ea275915 --- /dev/null +++ b/modules/scicos/src/xml2modelica/stringParser.cmx diff --git a/modules/scicos/src/xml2modelica/stringParser.ml b/modules/scicos/src/xml2modelica/stringParser.ml new file mode 100755 index 000000000..d881fc77d --- /dev/null +++ b/modules/scicos/src/xml2modelica/stringParser.ml @@ -0,0 +1,108 @@ +type token = + | STRING of (string) + | EOF + +open Parsing;; +# 23 "stringParser.mly" + + +# 10 "stringParser.ml" +let yytransl_const = [| + 0 (* EOF *); + 0|] + +let yytransl_block = [| + 257 (* STRING *); + 0|] + +let yylhs = "\255\255\ +\001\000\001\000\001\000\000\000" + +let yylen = "\002\000\ +\000\000\001\000\002\000\002\000" + +let yydefred = "\000\000\ +\000\000\000\000\002\000\000\000\003\000" + +let yydgoto = "\002\000\ +\004\000" + +let yysindex = "\255\255\ +\000\255\000\000\000\000\001\255\000\000" + +let yyrindex = "\000\000\ +\003\000\000\000\000\000\004\000\000\000" + +let yygindex = "\000\000\ +\000\000" + +let yytablesize = 4 +let yytable = "\001\000\ +\003\000\005\000\001\000\004\000" + +let yycheck = "\001\000\ +\001\001\001\001\000\000\000\000" + +let yynames_const = "\ + EOF\000\ + " + +let yynames_block = "\ + STRING\000\ + " + +let yyact = [| + (fun _ -> failwith "parser") +; (fun __caml_parser_env -> + Obj.repr( +# 38 "stringParser.mly" + ( "" ) +# 61 "stringParser.ml" + : string)) +; (fun __caml_parser_env -> + let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in + Obj.repr( +# 39 "stringParser.mly" + ( _1 ) +# 68 "stringParser.ml" + : string)) +; (fun __caml_parser_env -> + let _1 = (Parsing.peek_val __caml_parser_env 1 : string) in + let _2 = (Parsing.peek_val __caml_parser_env 0 : string) in + Obj.repr( +# 40 "stringParser.mly" + ( _1 ^ _2 ) +# 76 "stringParser.ml" + : string)) +(* Entry parse_string *) +; (fun __caml_parser_env -> raise (Parsing.YYexit (Parsing.peek_val __caml_parser_env 0))) +|] +let yytables = + { Parsing.actions=yyact; + Parsing.transl_const=yytransl_const; + Parsing.transl_block=yytransl_block; + Parsing.lhs=yylhs; + Parsing.len=yylen; + Parsing.defred=yydefred; + Parsing.dgoto=yydgoto; + Parsing.sindex=yysindex; + Parsing.rindex=yyrindex; + Parsing.gindex=yygindex; + Parsing.tablesize=yytablesize; + Parsing.table=yytable; + Parsing.check=yycheck; + Parsing.error_function=parse_error; + Parsing.names_const=yynames_const; + Parsing.names_block=yynames_block } +let parse_string (lexfun : Lexing.lexbuf -> token) (lexbuf : Lexing.lexbuf) = + (Parsing.yyparse yytables 1 lexfun lexbuf : string) +;; +# 43 "stringParser.mly" + + +let parse token_fun lexbuf = + try + parse_string token_fun lexbuf + with + | _ -> assert false +# 109 "stringParser.ml" diff --git a/modules/scicos/src/xml2modelica/stringParser.o b/modules/scicos/src/xml2modelica/stringParser.o Binary files differnew file mode 100755 index 000000000..6b09a183d --- /dev/null +++ b/modules/scicos/src/xml2modelica/stringParser.o diff --git a/modules/scicos/src/xml2modelica/xML2Modelica.cmi b/modules/scicos/src/xml2modelica/xML2Modelica.cmi Binary files differnew file mode 100755 index 000000000..10b92be5b --- /dev/null +++ b/modules/scicos/src/xml2modelica/xML2Modelica.cmi diff --git a/modules/scicos/src/xml2modelica/xML2Modelica.cmx b/modules/scicos/src/xml2modelica/xML2Modelica.cmx Binary files differnew file mode 100755 index 000000000..0bf3c5d73 --- /dev/null +++ b/modules/scicos/src/xml2modelica/xML2Modelica.cmx diff --git a/modules/scicos/src/xml2modelica/xML2Modelica.ml b/modules/scicos/src/xml2modelica/xML2Modelica.ml new file mode 100755 index 000000000..b38e6d515 --- /dev/null +++ b/modules/scicos/src/xml2modelica/xML2Modelica.ml @@ -0,0 +1,80 @@ +(* + * XML to Modelica + * + * Copyright (C) 2005 - 2007 Imagine S.A. + * For more information or commercial use please contact us at www.amesim.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + *) + +let sccs_id = + "@(#)XML2Modelica - Copyright (C) 2008 LMS Imagine" + +let version = "1.0" + +let output = ref "" + +let input = ref "" + +let init = ref false + +let check_filename () = + if Filename.check_suffix !input "xml" then () + else failwith "check_filename: Filename suffix must be 'xml'" + +let check_output () = + if !output = "" then failwith "check_output: No output filename specified" + +let set_output s = + if !output <> "" then failwith "set_output: More than one output specified"; + output := s + +let set_input s = + if !input <> "" then failwith "set_input: More than one input specified"; + input := s + +let construct_output_filename () = + if !output = "" then begin + output := Filename.chop_suffix !input "mo" + end; + !output + +let parse_args () = + Arg.parse + [("-o", Arg.String set_output, + "<outputfile> Set output file name to <outputfile>"); + ("-init", Arg.Set init, + "Generate flat Modelica code for initialization")] + set_input + ("usage: XML2modelica -o <outputfile> <inputfile>") + +let run () = + parse_args (); + check_filename (); + check_output (); + let ic = open_in !input in + Printf.printf "Input file name = %s\n" !input; flush stdout; + let lexbuf = Lexing.from_channel ic in + Printf.printf "Parsing..."; flush stdout; + let model = XMLParser.parse !input XMLLexer.token lexbuf in + let filename = construct_output_filename () in + Printf.printf "OK\nGenerating code..."; flush stdout; + ModelicaCodeGenerator.generate_code !init filename model; + Printf.printf " OK\nOutput file name = %s\n" !output; flush stdout; + Printf.printf "Terminated.\n"; flush stdout; + close_in ic + +let () = run () diff --git a/modules/scicos/src/xml2modelica/xML2Modelica.o b/modules/scicos/src/xml2modelica/xML2Modelica.o Binary files differnew file mode 100755 index 000000000..a6e770996 --- /dev/null +++ b/modules/scicos/src/xml2modelica/xML2Modelica.o diff --git a/modules/scicos/src/xml2modelica/xMLLexer.cmi b/modules/scicos/src/xml2modelica/xMLLexer.cmi Binary files differnew file mode 100755 index 000000000..7728093c5 --- /dev/null +++ b/modules/scicos/src/xml2modelica/xMLLexer.cmi diff --git a/modules/scicos/src/xml2modelica/xMLLexer.cmx b/modules/scicos/src/xml2modelica/xMLLexer.cmx Binary files differnew file mode 100755 index 000000000..812d13d1b --- /dev/null +++ b/modules/scicos/src/xml2modelica/xMLLexer.cmx diff --git a/modules/scicos/src/xml2modelica/xMLLexer.ml b/modules/scicos/src/xml2modelica/xMLLexer.ml new file mode 100755 index 000000000..744a46527 --- /dev/null +++ b/modules/scicos/src/xml2modelica/xMLLexer.ml @@ -0,0 +1,832 @@ +# 23 "xMLLexer.mll" + + +open XMLParser + +exception Eof + + +# 10 "xMLLexer.ml" +let __ocaml_lex_tables = { + Lexing.lex_base = + "\000\000\214\255\215\255\045\000\002\000\117\000\079\000\254\255\ + \255\255\197\000\211\000\221\000\233\000\248\000\250\255\081\001\ + \117\000\006\000\013\000\036\000\021\000\039\000\033\000\040\000\ + \041\000\068\000\190\000\048\000\196\000\033\000\033\000\062\000\ + \074\000\069\000\000\000\249\255\003\000\109\001\081\000\071\000\ + \094\000\112\000\110\001\005\000\210\000\011\000\090\001\001\000\ + \233\255\006\000\117\001\144\000\135\000\138\000\156\000\119\001\ + \008\000\054\001\014\000\122\001\002\000\232\255\170\000\183\000\ + \193\000\034\000\248\255\191\000\188\000\206\000\196\000\213\000\ + \192\000\214\000\232\000\225\000\015\001\013\000\118\001\010\001\ + \021\001\025\001\033\001\035\001\031\001\023\001\040\001\034\001\ + \044\001\085\001\247\255\034\001\054\001\044\001\044\001\057\001\ + \057\001\044\001\098\001\243\255\045\001\064\001\048\001\103\001\ + \242\255\056\001\067\001\106\001\239\255\107\001\237\255\056\001\ + \063\001\069\001\065\001\079\001\069\001\119\001\225\255\067\001\ + \085\001\080\001\089\001\083\001\078\001\081\001\136\001\224\255\ + \104\001\086\001\098\001\094\001\097\001\094\001\149\001\221\255\ + \111\001\103\001\120\001\117\001\109\001\121\001\104\001\107\001\ + \122\001\110\001\164\001\217\255\128\001\128\001\122\001\169\001\ + \216\255\116\001\133\001\128\001\138\001\131\001\126\001\128\001\ + \182\001\246\255\148\001\130\001\142\001\137\001\139\001\241\001\ + \242\001\190\001\223\255\145\001\158\001\143\001\141\001\160\001\ + \144\001\199\001\245\255\152\001\152\001\164\001\164\001\151\001\ + \205\001\244\255\167\001\170\001\154\001\170\001\172\001\010\002\ + \011\002\180\001\170\001\164\001\181\001\018\002\019\002\251\001\ + \024\002\224\001\227\255\025\002\001\002\230\001\226\255\181\001\ + \188\001\195\001\191\001\205\001\195\001\242\001\241\255\195\001\ + \208\001\249\001\203\001\240\255\201\001\211\001\214\001\000\002\ + \029\002\034\002\031\002\032\002\036\002\035\002\042\002\070\002\ + \046\002\041\002\075\002\086\002\091\002\103\002\218\001\012\002\ + \238\255\217\001\232\001\241\001\231\001\245\001\223\001\245\001\ + \238\001\233\001\004\002\134\002\145\002\243\001\007\002\010\002\ + \147\002\155\002\011\002\008\002\011\002\012\002\002\002\160\002\ + \161\002\025\002\041\002\042\002\060\002\162\002\172\002\138\002\ + \173\002\162\002\114\002\234\255\074\002\093\002\091\002\083\002\ + \100\002\081\002\084\002\099\002\194\002\199\002\155\002\219\255\ + \147\002\220\255\101\002\102\002\112\002\104\002\099\002\209\002\ + \215\002\100\002\107\002\104\002\111\002\000\000\167\002\228\255\ + \114\002\253\255\136\002\126\002\118\002\135\002\229\002\231\002\ + \203\002\230\002\183\002\128\002\151\002\141\002\133\002\151\002\ + \001\003\006\003\219\002\017\003\009\003\193\002\139\002\159\002\ + \150\002\150\002\167\002\041\003\047\003\235\002\048\003\049\003\ + \211\002\156\002\184\002\175\002\167\002\192\002\065\003\050\003\ + \013\003\083\003\074\003\233\002\182\002\204\002\199\002\191\002\ + \213\002\108\003\111\003\042\003\123\003\110\003\003\003\204\002\ + \226\002\216\002\208\002\232\002\120\003\145\003\056\003\148\003\ + \152\003\023\003"; + Lexing.lex_backtrk = + "\255\255\255\255\255\255\041\000\041\000\004\000\002\000\255\255\ + \255\255\255\255\003\000\003\000\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\026\000\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \033\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\024\000\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\020\000\255\255\255\255\255\255\ + \255\255\019\000\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\037\000\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \025\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\002\000\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\002\000\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\002\000\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\002\000\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\002\000\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \002\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255"; + Lexing.lex_default = + "\001\000\000\000\000\000\255\255\016\000\255\255\255\255\000\000\ + \000\000\255\255\255\255\255\255\255\255\255\255\000\000\255\255\ + \016\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\000\000\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\044\000\255\255\255\255\255\255\ + \000\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\057\000\255\255\255\255\255\255\000\000\255\255\255\255\ + \255\255\255\255\000\000\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\000\000\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\000\000\255\255\255\255\255\255\255\255\ + \000\000\255\255\255\255\255\255\000\000\255\255\000\000\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\000\000\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\000\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\000\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\000\000\255\255\255\255\255\255\255\255\ + \000\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\000\000\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\000\000\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\000\000\255\255\255\255\255\255\255\255\255\255\ + \255\255\000\000\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\199\000\ + \255\255\255\255\000\000\255\255\255\255\255\255\000\000\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\000\000\255\255\ + \255\255\255\255\255\255\000\000\255\255\255\255\255\255\255\255\ + \224\000\255\255\224\000\224\000\224\000\224\000\224\000\224\000\ + \224\000\224\000\224\000\224\000\224\000\224\000\255\255\255\255\ + \000\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\015\001\ + \255\255\255\255\255\255\000\000\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\000\ + \255\255\000\000\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\000\000\ + \049\001\000\000\255\255\255\255\255\255\255\255\255\255\255\255\ + \056\001\255\255\255\255\049\001\255\255\255\255\255\255\255\255\ + \255\255\255\255\066\001\255\255\255\255\255\255\049\001\255\255\ + \255\255\255\255\255\255\255\255\255\255\077\001\255\255\255\255\ + \255\255\049\001\255\255\255\255\255\255\255\255\255\255\255\255\ + \088\001\255\255\255\255\255\255\049\001\255\255\255\255\255\255\ + \255\255\255\255\255\255\099\001\255\255\255\255\255\255\049\001\ + \255\255\255\255\255\255\255\255\255\255\255\255\110\001\255\255\ + \255\255\255\255"; + Lexing.lex_trans = + "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\008\000\007\000\000\000\037\000\008\000\043\000\050\000\ + \037\000\056\000\043\000\050\000\045\000\056\000\078\000\058\000\ + \045\000\000\000\078\000\058\000\000\000\000\000\000\000\000\000\ + \008\000\000\000\004\000\037\000\014\000\043\000\050\000\044\000\ + \056\000\000\000\057\000\045\000\000\000\078\000\058\000\046\001\ + \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\ + \006\000\006\000\047\000\000\000\003\000\060\000\035\000\048\000\ + \061\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ + \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ + \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ + \005\000\005\000\005\000\005\000\026\000\005\000\015\000\005\000\ + \066\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ + \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ + \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ + \005\000\005\000\005\000\041\001\034\001\010\000\253\000\006\000\ + \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\ + \006\000\003\001\215\000\239\000\002\001\207\000\171\000\049\000\ + \018\000\063\000\025\000\020\000\009\000\238\000\021\000\014\000\ + \022\000\036\000\028\000\027\000\017\000\173\000\172\000\062\000\ + \024\000\023\000\032\000\013\000\019\000\005\000\005\000\005\000\ + \005\000\005\000\005\000\005\000\005\000\005\000\005\000\033\000\ + \154\000\034\000\039\000\040\000\009\000\153\000\005\000\005\000\ + \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ + \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ + \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ + \005\000\015\000\005\000\041\000\005\000\042\000\005\000\005\000\ + \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ + \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ + \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ + \012\000\052\000\012\000\053\000\045\000\011\000\011\000\011\000\ + \011\000\011\000\011\000\011\000\011\000\011\000\011\000\054\000\ + \002\000\055\000\255\255\010\000\010\000\010\000\010\000\010\000\ + \010\000\010\000\010\000\010\000\010\000\011\000\011\000\011\000\ + \011\000\011\000\011\000\011\000\011\000\011\000\011\000\067\000\ + \009\000\011\000\011\000\011\000\011\000\011\000\011\000\011\000\ + \011\000\011\000\011\000\081\000\064\000\030\000\065\000\083\000\ + \068\000\084\000\069\000\079\000\086\000\029\000\046\000\070\000\ + \071\000\085\000\082\000\031\000\072\000\080\000\073\000\074\000\ + \009\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ + \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ + \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ + \005\000\005\000\005\000\005\000\075\000\005\000\076\000\005\000\ + \058\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ + \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ + \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ + \005\000\005\000\005\000\016\000\077\000\255\255\037\000\042\000\ + \016\000\148\000\037\000\042\000\044\000\136\000\050\000\078\000\ + \055\000\044\000\050\000\078\000\055\000\120\000\111\000\109\000\ + \105\000\087\000\119\000\091\000\092\000\037\000\042\000\088\000\ + \016\000\089\000\059\000\090\000\100\000\050\000\078\000\055\000\ + \093\000\044\000\094\000\095\000\057\000\096\000\097\000\098\000\ + \099\000\057\000\101\000\102\000\103\000\104\000\106\000\107\000\ + \108\000\110\000\112\000\043\000\113\000\016\000\114\000\115\000\ + \116\000\117\000\016\000\016\000\056\000\118\000\044\000\016\000\ + \128\000\057\000\121\000\044\000\044\000\122\000\123\000\016\000\ + \044\000\124\000\125\000\016\000\126\000\016\000\127\000\016\000\ + \044\000\129\000\130\000\131\000\044\000\132\000\044\000\133\000\ + \044\000\134\000\255\255\135\000\137\000\138\000\057\000\139\000\ + \140\000\141\000\142\000\057\000\057\000\143\000\144\000\145\000\ + \057\000\146\000\147\000\038\000\149\000\150\000\151\000\152\000\ + \057\000\162\000\155\000\051\000\057\000\156\000\057\000\157\000\ + \057\000\158\000\159\000\160\000\161\000\163\000\164\000\165\000\ + \166\000\167\000\168\000\168\000\170\000\186\000\168\000\168\000\ + \179\000\174\000\175\000\176\000\177\000\178\000\180\000\181\000\ + \182\000\183\000\184\000\185\000\187\000\188\000\189\000\190\000\ + \191\000\168\000\168\000\192\000\192\000\194\000\195\000\192\000\ + \192\000\196\000\197\000\197\000\198\000\203\000\202\000\197\000\ + \198\000\200\000\203\000\199\000\206\000\200\000\203\000\208\000\ + \199\000\209\000\192\000\192\000\210\000\211\000\212\000\213\000\ + \214\000\216\000\197\000\198\000\217\000\199\000\255\255\219\000\ + \200\000\203\000\220\000\221\000\222\000\223\000\224\000\255\255\ + \199\000\255\255\255\255\241\000\224\000\255\255\255\255\201\000\ + \205\000\224\000\240\000\255\255\255\255\242\000\227\000\198\000\ + \255\255\243\000\244\000\245\000\246\000\247\000\248\000\204\000\ + \218\000\226\000\249\000\226\000\226\000\199\000\250\000\226\000\ + \226\000\224\000\199\000\199\000\169\000\226\000\226\000\199\000\ + \255\255\251\000\226\000\254\000\255\000\255\255\000\001\199\000\ + \020\001\004\001\005\001\199\000\006\001\199\000\007\001\199\000\ + \255\255\225\000\010\001\225\000\225\000\255\255\224\000\225\000\ + \225\000\193\000\226\000\224\000\224\000\225\000\225\000\226\000\ + \224\000\255\255\225\000\228\000\200\000\229\000\231\000\252\000\ + \224\000\230\000\226\000\252\000\224\000\011\001\224\000\226\000\ + \224\000\237\000\252\000\234\000\001\001\233\000\252\000\012\001\ + \001\001\013\001\225\000\226\000\001\001\232\000\252\000\225\000\ + \001\001\008\001\008\001\013\001\016\001\008\001\008\001\013\001\ + \019\001\252\000\225\000\001\001\235\000\014\001\016\001\225\000\ + \021\001\014\001\016\001\001\001\022\001\236\000\023\001\024\001\ + \008\001\008\001\013\001\225\000\015\001\025\001\026\001\027\001\ + \028\001\015\001\032\001\029\001\014\001\016\001\015\001\029\001\ + \029\001\033\001\035\001\036\001\029\001\037\001\038\001\039\001\ + \042\001\031\001\040\001\043\001\018\001\044\001\040\001\014\001\ + \040\001\015\001\029\001\045\001\040\001\047\001\017\001\029\001\ + \050\001\051\001\052\001\053\001\054\001\057\001\054\001\057\001\ + \055\001\040\001\054\001\057\001\055\001\008\000\060\001\040\001\ + \061\001\062\001\063\001\255\255\064\001\067\001\015\001\008\000\ + \072\001\071\001\073\001\015\001\015\001\054\001\057\001\055\001\ + \015\001\056\001\064\001\074\001\075\001\078\001\064\001\065\001\ + \015\001\008\000\082\001\065\001\015\001\058\001\015\001\009\001\ + \015\001\083\001\067\001\084\001\085\001\255\255\067\001\255\255\ + \255\255\064\001\055\001\255\255\255\255\086\001\065\001\008\000\ + \066\001\255\255\255\255\066\001\093\001\094\001\255\255\089\001\ + \066\001\067\001\075\001\095\001\096\001\030\001\075\001\068\001\ + \076\001\078\001\097\001\087\001\076\001\078\001\065\001\087\001\ + \069\001\008\000\104\001\105\001\106\001\107\001\255\255\079\001\ + \066\001\075\001\086\001\255\255\100\001\108\001\086\001\076\001\ + \078\001\077\001\087\001\077\001\088\001\008\000\255\255\000\000\ + \077\001\000\000\111\001\255\255\089\001\000\000\000\000\080\001\ + \089\001\086\001\000\000\000\000\000\000\066\001\076\001\255\255\ + \000\000\090\001\066\001\066\001\088\001\000\000\000\000\066\001\ + \077\001\088\001\007\000\089\001\000\000\097\001\000\000\066\001\ + \098\001\097\001\000\000\066\001\098\001\066\001\087\001\066\001\ + \007\000\108\001\091\001\000\000\100\001\108\001\101\001\000\000\ + \100\001\088\001\255\255\007\000\097\001\077\001\000\000\098\001\ + \099\001\099\001\077\001\077\001\112\001\099\001\000\000\077\001\ + \108\001\000\000\109\001\100\001\007\000\111\001\109\001\077\001\ + \000\000\111\001\000\000\077\001\000\000\077\001\088\001\077\001\ + \000\000\098\001\102\001\088\001\088\001\099\001\000\000\000\000\ + \088\001\109\001\000\000\110\001\111\001\109\001\007\000\000\000\ + \088\001\000\000\110\001\000\000\088\001\000\000\088\001\110\001\ + \088\001\000\000\000\000\113\001\000\000\000\000\000\000\000\000\ + \000\000\000\000\099\001\255\255\007\000\000\000\000\000\099\001\ + \099\001\000\000\000\000\000\000\099\001\000\000\000\000\110\001\ + \000\000\000\000\000\000\255\255\099\001\000\000\000\000\000\000\ + \099\001\000\000\099\001\000\000\099\001\000\000\000\000\000\000\ + \000\000\000\000\000\000\255\255\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\110\001\000\000\000\000\000\000\ + \000\000\110\001\110\001\000\000\000\000\000\000\110\001\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\110\001\000\000\ + \000\000\000\000\110\001\000\000\110\001\255\255\110\001\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\255\255\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \255\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000"; + Lexing.lex_check = + "\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\000\000\000\000\255\255\036\000\000\000\043\000\049\000\ + \036\000\056\000\043\000\049\000\045\000\056\000\077\000\058\000\ + \045\000\255\255\077\000\058\000\255\255\255\255\255\255\255\255\ + \000\000\255\255\000\000\036\000\004\000\043\000\049\000\043\000\ + \056\000\255\255\056\000\045\000\255\255\077\000\058\000\045\001\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\045\000\255\255\000\000\058\000\034\000\047\000\ + \060\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\003\000\000\000\004\000\000\000\ + \065\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ + \000\000\000\000\000\000\017\000\018\000\006\000\020\000\006\000\ + \006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\ + \006\000\019\000\022\000\021\000\019\000\023\000\024\000\029\000\ + \003\000\027\000\003\000\003\000\006\000\021\000\003\000\016\000\ + \003\000\030\000\003\000\003\000\003\000\024\000\024\000\027\000\ + \003\000\003\000\031\000\005\000\003\000\005\000\005\000\005\000\ + \005\000\005\000\005\000\005\000\005\000\005\000\005\000\032\000\ + \025\000\033\000\038\000\039\000\006\000\025\000\005\000\005\000\ + \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ + \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ + \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ + \005\000\016\000\005\000\040\000\005\000\041\000\005\000\005\000\ + \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ + \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ + \005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\ + \009\000\051\000\009\000\052\000\044\000\009\000\009\000\009\000\ + \009\000\009\000\009\000\009\000\009\000\009\000\009\000\053\000\ + \000\000\054\000\004\000\010\000\010\000\010\000\010\000\010\000\ + \010\000\010\000\010\000\010\000\010\000\011\000\011\000\011\000\ + \011\000\011\000\011\000\011\000\011\000\011\000\011\000\062\000\ + \010\000\012\000\012\000\012\000\012\000\012\000\012\000\012\000\ + \012\000\012\000\012\000\026\000\063\000\028\000\064\000\026\000\ + \067\000\026\000\068\000\026\000\026\000\028\000\044\000\069\000\ + \070\000\026\000\026\000\028\000\071\000\026\000\072\000\073\000\ + \010\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\ + \013\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\ + \013\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\ + \013\000\013\000\013\000\013\000\074\000\013\000\075\000\013\000\ + \057\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\ + \013\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\ + \013\000\013\000\013\000\013\000\013\000\013\000\013\000\013\000\ + \013\000\013\000\013\000\015\000\076\000\016\000\037\000\042\000\ + \015\000\079\000\037\000\042\000\046\000\080\000\050\000\078\000\ + \055\000\046\000\050\000\078\000\055\000\081\000\082\000\083\000\ + \084\000\086\000\081\000\085\000\085\000\037\000\042\000\087\000\ + \015\000\088\000\057\000\089\000\091\000\050\000\078\000\055\000\ + \092\000\046\000\093\000\094\000\059\000\095\000\096\000\097\000\ + \098\000\059\000\100\000\101\000\102\000\103\000\105\000\106\000\ + \107\000\109\000\111\000\042\000\112\000\015\000\113\000\114\000\ + \115\000\116\000\015\000\015\000\055\000\117\000\046\000\015\000\ + \119\000\059\000\120\000\046\000\046\000\121\000\122\000\015\000\ + \046\000\123\000\124\000\015\000\125\000\015\000\126\000\015\000\ + \046\000\128\000\129\000\130\000\046\000\131\000\046\000\132\000\ + \046\000\133\000\044\000\134\000\136\000\137\000\059\000\138\000\ + \139\000\140\000\141\000\059\000\059\000\142\000\143\000\144\000\ + \059\000\145\000\146\000\037\000\148\000\149\000\150\000\151\000\ + \059\000\153\000\154\000\050\000\059\000\155\000\059\000\156\000\ + \059\000\157\000\158\000\159\000\160\000\162\000\163\000\164\000\ + \165\000\166\000\167\000\168\000\169\000\171\000\167\000\168\000\ + \172\000\173\000\174\000\175\000\176\000\177\000\179\000\180\000\ + \181\000\182\000\183\000\184\000\186\000\187\000\188\000\189\000\ + \190\000\167\000\168\000\191\000\192\000\193\000\194\000\191\000\ + \192\000\195\000\196\000\197\000\198\000\199\000\201\000\197\000\ + \198\000\200\000\203\000\204\000\205\000\200\000\203\000\207\000\ + \204\000\208\000\191\000\192\000\209\000\210\000\211\000\212\000\ + \213\000\215\000\197\000\198\000\216\000\198\000\057\000\217\000\ + \200\000\203\000\218\000\220\000\221\000\222\000\223\000\224\000\ + \204\000\226\000\227\000\238\000\225\000\229\000\228\000\200\000\ + \203\000\225\000\239\000\233\000\230\000\241\000\226\000\197\000\ + \232\000\242\000\243\000\244\000\245\000\246\000\247\000\199\000\ + \217\000\224\000\248\000\226\000\227\000\204\000\249\000\229\000\ + \228\000\225\000\204\000\204\000\167\000\233\000\230\000\204\000\ + \231\000\250\000\232\000\253\000\254\000\234\000\255\000\204\000\ + \002\001\003\001\004\001\204\000\005\001\204\000\006\001\204\000\ + \235\000\224\000\009\001\226\000\227\000\236\000\225\000\229\000\ + \228\000\192\000\231\000\225\000\225\000\233\000\230\000\234\000\ + \225\000\237\000\232\000\227\000\198\000\228\000\230\000\251\000\ + \225\000\229\000\235\000\251\000\225\000\010\001\225\000\236\000\ + \225\000\236\000\252\000\233\000\000\001\232\000\252\000\011\001\ + \000\001\012\001\231\000\237\000\001\001\231\000\251\000\234\000\ + \001\001\007\001\008\001\013\001\015\001\007\001\008\001\013\001\ + \018\001\252\000\235\000\000\001\234\000\014\001\016\001\236\000\ + \020\001\014\001\016\001\001\001\021\001\235\000\022\001\023\001\ + \007\001\008\001\013\001\237\000\017\001\024\001\025\001\026\001\ + \027\001\017\001\030\001\028\001\014\001\016\001\014\001\028\001\ + \029\001\032\001\034\001\035\001\029\001\036\001\037\001\038\001\ + \041\001\030\001\039\001\042\001\016\001\043\001\039\001\013\001\ + \040\001\017\001\028\001\044\001\040\001\046\001\015\001\029\001\ + \048\001\050\001\051\001\052\001\053\001\056\001\054\001\057\001\ + \055\001\039\001\054\001\057\001\055\001\058\001\059\001\040\001\ + \060\001\061\001\062\001\199\000\063\001\066\001\017\001\069\001\ + \071\001\070\001\072\001\017\001\017\001\054\001\057\001\055\001\ + \017\001\055\001\064\001\073\001\074\001\077\001\064\001\065\001\ + \017\001\080\001\081\001\065\001\017\001\057\001\017\001\008\001\ + \017\001\082\001\067\001\083\001\084\001\224\000\067\001\226\000\ + \227\000\064\001\054\001\229\000\228\000\085\001\065\001\091\001\ + \065\001\233\000\230\000\068\001\092\001\093\001\232\000\088\001\ + \068\001\067\001\075\001\094\001\095\001\028\001\075\001\066\001\ + \076\001\078\001\096\001\087\001\076\001\078\001\064\001\087\001\ + \067\001\102\001\103\001\104\001\105\001\106\001\231\000\077\001\ + \068\001\075\001\086\001\234\000\099\001\107\001\086\001\076\001\ + \078\001\076\001\087\001\079\001\087\001\113\001\235\000\255\255\ + \079\001\255\255\110\001\236\000\089\001\255\255\255\255\078\001\ + \089\001\086\001\255\255\255\255\255\255\068\001\075\001\237\000\ + \255\255\088\001\068\001\068\001\090\001\255\255\255\255\068\001\ + \079\001\090\001\048\001\089\001\255\255\097\001\255\255\068\001\ + \098\001\097\001\255\255\068\001\098\001\068\001\086\001\068\001\ + \059\001\108\001\089\001\255\255\100\001\108\001\099\001\255\255\ + \100\001\090\001\015\001\070\001\097\001\079\001\255\255\098\001\ + \101\001\098\001\079\001\079\001\110\001\101\001\255\255\079\001\ + \108\001\255\255\109\001\100\001\081\001\111\001\109\001\079\001\ + \255\255\111\001\255\255\079\001\255\255\079\001\090\001\079\001\ + \255\255\097\001\100\001\090\001\090\001\101\001\255\255\255\255\ + \090\001\109\001\255\255\109\001\111\001\108\001\092\001\255\255\ + \090\001\255\255\112\001\255\255\090\001\255\255\090\001\112\001\ + \090\001\255\255\255\255\111\001\255\255\255\255\255\255\255\255\ + \255\255\255\255\101\001\056\001\103\001\255\255\255\255\101\001\ + \101\001\255\255\255\255\255\255\101\001\255\255\255\255\112\001\ + \255\255\255\255\255\255\066\001\101\001\255\255\255\255\255\255\ + \101\001\255\255\101\001\255\255\101\001\255\255\255\255\255\255\ + \255\255\255\255\255\255\077\001\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\112\001\255\255\255\255\255\255\ + \255\255\112\001\112\001\255\255\255\255\255\255\112\001\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\112\001\255\255\ + \255\255\255\255\112\001\255\255\112\001\088\001\112\001\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\099\001\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \110\001\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\ + \255\255"; + Lexing.lex_base_code = + ""; + Lexing.lex_backtrk_code = + ""; + Lexing.lex_default_code = + ""; + Lexing.lex_trans_code = + ""; + Lexing.lex_check_code = + ""; + Lexing.lex_code = + ""; +} + +let rec token lexbuf = + __ocaml_lex_token_rec lexbuf 0 +and __ocaml_lex_token_rec lexbuf __ocaml_lex_state = + match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with + | 0 -> +# 49 "xMLLexer.mll" + ( token lexbuf ) +# 475 "xMLLexer.ml" + + | 1 -> +# 52 "xMLLexer.mll" + ( token lexbuf ) +# 480 "xMLLexer.ml" + + | 2 -> +# 56 "xMLLexer.mll" + ( let lxm = Lexing.lexeme lexbuf in + UNSIGNED_INTEGER lxm ) +# 486 "xMLLexer.ml" + + | 3 -> +# 60 "xMLLexer.mll" + ( let lxm = Lexing.lexeme lexbuf in + UNSIGNED_NUMBER lxm ) +# 492 "xMLLexer.ml" + + | 4 -> +# 64 "xMLLexer.mll" + ( let lxm = Lexing.lexeme lexbuf in + IDENT lxm ) +# 498 "xMLLexer.ml" + + | 5 -> +# 68 "xMLLexer.mll" + ( let lxm = Lexing.lexeme lexbuf in + STRING (String.sub lxm 1 (String.length lxm - 2)) ) +# 504 "xMLLexer.ml" + + | 6 -> +# 71 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in MODEL_TAG ) +# 509 "xMLLexer.ml" + + | 7 -> +# 72 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in NAME_TAG ) +# 514 "xMLLexer.ml" + + | 8 -> +# 73 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in NAME_END_TAG ) +# 519 "xMLLexer.ml" + + | 9 -> +# 74 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in ELEMENTS_TAG ) +# 524 "xMLLexer.ml" + + | 10 -> +# 75 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in ELEMENT_STRUCT_TAG ) +# 529 "xMLLexer.ml" + + | 11 -> +# 76 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in ELEMENT_STRUCT_SUBNODES_TAG ) +# 534 "xMLLexer.ml" + + | 12 -> +# 77 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in ELEMENT_STRUCT_SUBNODES_END_TAG ) +# 539 "xMLLexer.ml" + + | 13 -> +# 78 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in ELEMENT_STRUCT_END_TAG ) +# 544 "xMLLexer.ml" + + | 14 -> +# 79 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in ELEMENT_TERMINAL_TAG ) +# 549 "xMLLexer.ml" + + | 15 -> +# 80 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in ELEMENT_TERMINAL_KIND_TAG ) +# 554 "xMLLexer.ml" + + | 16 -> +# 81 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in ELEMENT_TERMINAL_KIND_END_TAG ) +# 559 "xMLLexer.ml" + + | 17 -> +# 82 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in ELEMENT_TERMINAL_ID_TAG ) +# 564 "xMLLexer.ml" + + | 18 -> +# 83 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in ELEMENT_TERMINAL_ID_END_TAG ) +# 569 "xMLLexer.ml" + + | 19 -> +# 84 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in element_fixed_value lexbuf ) +# 574 "xMLLexer.ml" + + | 20 -> +# 85 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in element_terminal_initial_value_value lexbuf ) +# 579 "xMLLexer.ml" + + | 21 -> +# 86 "xMLLexer.mll" + ( token lexbuf ) +# 584 "xMLLexer.ml" + + | 22 -> +# 87 "xMLLexer.mll" + ( token lexbuf ) +# 589 "xMLLexer.ml" + + | 23 -> +# 88 "xMLLexer.mll" + ( token lexbuf ) +# 594 "xMLLexer.ml" + + | 24 -> +# 89 "xMLLexer.mll" + ( token lexbuf ) +# 599 "xMLLexer.ml" + + | 25 -> +# 90 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in element_terminal_comment_value lexbuf ) +# 604 "xMLLexer.ml" + + | 26 -> +# 91 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in element_terminal_nominal_value_value lexbuf ) +# 609 "xMLLexer.ml" + + | 27 -> +# 92 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in ELEMENT_TERMINAL_OUTPUT_TAG ) +# 614 "xMLLexer.ml" + + | 28 -> +# 93 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in ELEMENT_TERMINAL_SELECT_TAG ) +# 619 "xMLLexer.ml" + + | 29 -> +# 94 "xMLLexer.mll" + ( token lexbuf ) +# 624 "xMLLexer.ml" + + | 30 -> +# 95 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in ELEMENT_TERMINAL_END_TAG ) +# 629 "xMLLexer.ml" + + | 31 -> +# 96 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in ELEMENTS_END_TAG ) +# 634 "xMLLexer.ml" + + | 32 -> +# 97 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in EQUATIONS_TAG ) +# 639 "xMLLexer.ml" + + | 33 -> +# 98 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in equation_value lexbuf ) +# 644 "xMLLexer.ml" + + | 34 -> +# 99 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in EQUATIONS_END_TAG ) +# 649 "xMLLexer.ml" + + | 35 -> +# 100 "xMLLexer.mll" + ( token lexbuf ) +# 654 "xMLLexer.ml" + + | 36 -> +# 101 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in WHEN_CLAUSES_TAG ) +# 659 "xMLLexer.ml" + + | 37 -> +# 102 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in when_clause_value lexbuf ) +# 664 "xMLLexer.ml" + + | 38 -> +# 103 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in WHEN_CLAUSES_END_TAG ) +# 669 "xMLLexer.ml" + + | 39 -> +# 104 "xMLLexer.mll" + ( let _ = Lexing.lexeme lexbuf in MODEL_END_TAG ) +# 674 "xMLLexer.ml" + + | 40 -> +# 106 "xMLLexer.mll" + ( EOF ) +# 679 "xMLLexer.ml" + + | 41 -> +# 108 "xMLLexer.mll" + ( ERROR ) +# 684 "xMLLexer.ml" + + | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_token_rec lexbuf __ocaml_lex_state + +and element_terminal_comment_value lexbuf = + __ocaml_lex_element_terminal_comment_value_rec lexbuf 304 +and __ocaml_lex_element_terminal_comment_value_rec lexbuf __ocaml_lex_state = + match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with + | 0 -> +# 113 "xMLLexer.mll" + ( let lxm = Lexing.lexeme lexbuf in + let i = String.index lxm '\"' + and j = String.rindex lxm '\"' in + ELEMENT_TERMINAL_COMMENT_VALUE_TAG (String.sub lxm (i + 1) (j - i - 1)) ) +# 698 "xMLLexer.ml" + + | 1 -> +# 117 "xMLLexer.mll" + ( EOF ) +# 703 "xMLLexer.ml" + + | 2 -> +# 119 "xMLLexer.mll" + ( ERROR ) +# 708 "xMLLexer.ml" + + | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_element_terminal_comment_value_rec lexbuf __ocaml_lex_state + +and element_terminal_initial_value_value lexbuf = + __ocaml_lex_element_terminal_initial_value_value_rec lexbuf 315 +and __ocaml_lex_element_terminal_initial_value_value_rec lexbuf __ocaml_lex_state = + match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with + | 0 -> +# 124 "xMLLexer.mll" + ( let lxm = Lexing.lexeme lexbuf in + let i = String.index lxm '\"' + and j = String.rindex lxm '\"' in + ELEMENT_TERMINAL_INITIAL_VALUE_VALUE_TAG (String.sub lxm (i + 1) (j - i - 1)) ) +# 722 "xMLLexer.ml" + + | 1 -> +# 128 "xMLLexer.mll" + ( EOF ) +# 727 "xMLLexer.ml" + + | 2 -> +# 130 "xMLLexer.mll" + ( ERROR ) +# 732 "xMLLexer.ml" + + | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_element_terminal_initial_value_value_rec lexbuf __ocaml_lex_state + +and element_fixed_value lexbuf = + __ocaml_lex_element_fixed_value_rec lexbuf 326 +and __ocaml_lex_element_fixed_value_rec lexbuf __ocaml_lex_state = + match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with + | 0 -> +# 135 "xMLLexer.mll" + ( let lxm = Lexing.lexeme lexbuf in + let i = String.index lxm '\"' + and j = String.rindex lxm '\"' in + ELEMENT_TERMINAL_FIXED_VALUE_TAG (String.sub lxm (i + 1) (j - i - 1)) ) +# 746 "xMLLexer.ml" + + | 1 -> +# 139 "xMLLexer.mll" + ( EOF ) +# 751 "xMLLexer.ml" + + | 2 -> +# 141 "xMLLexer.mll" + ( ERROR ) +# 756 "xMLLexer.ml" + + | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_element_fixed_value_rec lexbuf __ocaml_lex_state + +and element_terminal_nominal_value_value lexbuf = + __ocaml_lex_element_terminal_nominal_value_value_rec lexbuf 337 +and __ocaml_lex_element_terminal_nominal_value_value_rec lexbuf __ocaml_lex_state = + match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with + | 0 -> +# 146 "xMLLexer.mll" + ( let lxm = Lexing.lexeme lexbuf in + let i = String.index lxm '\"' + and j = String.rindex lxm '\"' in + ELEMENT_TERMINAL_NOMINAL_VALUE_VALUE_TAG (String.sub lxm (i + 1) (j - i - 1)) ) +# 770 "xMLLexer.ml" + + | 1 -> +# 150 "xMLLexer.mll" + ( EOF ) +# 775 "xMLLexer.ml" + + | 2 -> +# 152 "xMLLexer.mll" + ( ERROR ) +# 780 "xMLLexer.ml" + + | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_element_terminal_nominal_value_value_rec lexbuf __ocaml_lex_state + +and equation_value lexbuf = + __ocaml_lex_equation_value_rec lexbuf 348 +and __ocaml_lex_equation_value_rec lexbuf __ocaml_lex_state = + match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with + | 0 -> +# 157 "xMLLexer.mll" + ( let lxm = Lexing.lexeme lexbuf in + let i = String.index lxm '\"' + and j = String.rindex lxm '\"' in + EQUATION_VALUE_TAG (String.sub lxm (i + 1) (j - i - 1)) ) +# 794 "xMLLexer.ml" + + | 1 -> +# 161 "xMLLexer.mll" + ( EOF ) +# 799 "xMLLexer.ml" + + | 2 -> +# 163 "xMLLexer.mll" + ( ERROR ) +# 804 "xMLLexer.ml" + + | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_equation_value_rec lexbuf __ocaml_lex_state + +and when_clause_value lexbuf = + __ocaml_lex_when_clause_value_rec lexbuf 359 +and __ocaml_lex_when_clause_value_rec lexbuf __ocaml_lex_state = + match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with + | 0 -> +# 168 "xMLLexer.mll" + ( let lxm = Lexing.lexeme lexbuf in + let i = String.index lxm '\"' + and j = String.rindex lxm '\"' in + WHEN_CLAUSE_VALUE_TAG (String.sub lxm (i + 1) (j - i - 1)) ) +# 818 "xMLLexer.ml" + + | 1 -> +# 172 "xMLLexer.mll" + ( EOF ) +# 823 "xMLLexer.ml" + + | 2 -> +# 174 "xMLLexer.mll" + ( ERROR ) +# 828 "xMLLexer.ml" + + | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_when_clause_value_rec lexbuf __ocaml_lex_state + +;; + diff --git a/modules/scicos/src/xml2modelica/xMLLexer.o b/modules/scicos/src/xml2modelica/xMLLexer.o Binary files differnew file mode 100755 index 000000000..37e173ec8 --- /dev/null +++ b/modules/scicos/src/xml2modelica/xMLLexer.o diff --git a/modules/scicos/src/xml2modelica/xMLParser.cmi b/modules/scicos/src/xml2modelica/xMLParser.cmi Binary files differnew file mode 100755 index 000000000..6fae4eceb --- /dev/null +++ b/modules/scicos/src/xml2modelica/xMLParser.cmi diff --git a/modules/scicos/src/xml2modelica/xMLParser.cmx b/modules/scicos/src/xml2modelica/xMLParser.cmx Binary files differnew file mode 100755 index 000000000..c99328d3f --- /dev/null +++ b/modules/scicos/src/xml2modelica/xMLParser.cmx diff --git a/modules/scicos/src/xml2modelica/xMLParser.ml b/modules/scicos/src/xml2modelica/xMLParser.ml new file mode 100755 index 000000000..0b3882f1c --- /dev/null +++ b/modules/scicos/src/xml2modelica/xMLParser.ml @@ -0,0 +1,514 @@ +type token = + | IDENT of (string) + | UNSIGNED_INTEGER of (string) + | UNSIGNED_NUMBER of (string) + | STRING of (string) + | MODEL_TAG + | MODEL_END_TAG + | NAME_TAG + | NAME_END_TAG + | ELEMENTS_TAG + | ELEMENT_STRUCT_TAG + | ELEMENT_STRUCT_SUBNODES_TAG + | ELEMENT_STRUCT_SUBNODES_END_TAG + | ELEMENT_STRUCT_END_TAG + | ELEMENT_TERMINAL_TAG + | ELEMENT_TERMINAL_KIND_TAG + | ELEMENT_TERMINAL_KIND_END_TAG + | ELEMENT_TERMINAL_ID_TAG + | ELEMENT_TERMINAL_ID_END_TAG + | ELEMENT_TERMINAL_END_TAG + | ELEMENTS_END_TAG + | EQUATIONS_TAG + | EQUATIONS_END_TAG + | WHEN_CLAUSES_TAG + | WHEN_CLAUSES_END_TAG + | ELEMENT_TERMINAL_OUTPUT_TAG + | ELEMENT_TERMINAL_SELECT_TAG + | ELEMENT_TERMINAL_COMMENT_VALUE_TAG of (string) + | ELEMENT_TERMINAL_INITIAL_VALUE_VALUE_TAG of (string) + | ELEMENT_TERMINAL_NOMINAL_VALUE_VALUE_TAG of (string) + | ELEMENT_TERMINAL_FIXED_VALUE_TAG of (string) + | EQUATION_VALUE_TAG of (string) + | WHEN_CLAUSE_VALUE_TAG of (string) + | ERROR + | EOF + +open Parsing;; +# 28 "xMLParser.mly" + + + open XMLTree + +# 44 "xMLParser.ml" +let yytransl_const = [| + 261 (* MODEL_TAG *); + 262 (* MODEL_END_TAG *); + 263 (* NAME_TAG *); + 264 (* NAME_END_TAG *); + 265 (* ELEMENTS_TAG *); + 266 (* ELEMENT_STRUCT_TAG *); + 267 (* ELEMENT_STRUCT_SUBNODES_TAG *); + 268 (* ELEMENT_STRUCT_SUBNODES_END_TAG *); + 269 (* ELEMENT_STRUCT_END_TAG *); + 270 (* ELEMENT_TERMINAL_TAG *); + 271 (* ELEMENT_TERMINAL_KIND_TAG *); + 272 (* ELEMENT_TERMINAL_KIND_END_TAG *); + 273 (* ELEMENT_TERMINAL_ID_TAG *); + 274 (* ELEMENT_TERMINAL_ID_END_TAG *); + 275 (* ELEMENT_TERMINAL_END_TAG *); + 276 (* ELEMENTS_END_TAG *); + 277 (* EQUATIONS_TAG *); + 278 (* EQUATIONS_END_TAG *); + 279 (* WHEN_CLAUSES_TAG *); + 280 (* WHEN_CLAUSES_END_TAG *); + 281 (* ELEMENT_TERMINAL_OUTPUT_TAG *); + 282 (* ELEMENT_TERMINAL_SELECT_TAG *); + 289 (* ERROR *); + 0 (* EOF *); + 0|] + +let yytransl_block = [| + 257 (* IDENT *); + 258 (* UNSIGNED_INTEGER *); + 259 (* UNSIGNED_NUMBER *); + 260 (* STRING *); + 283 (* ELEMENT_TERMINAL_COMMENT_VALUE_TAG *); + 284 (* ELEMENT_TERMINAL_INITIAL_VALUE_VALUE_TAG *); + 285 (* ELEMENT_TERMINAL_NOMINAL_VALUE_VALUE_TAG *); + 286 (* ELEMENT_TERMINAL_FIXED_VALUE_TAG *); + 287 (* EQUATION_VALUE_TAG *); + 288 (* WHEN_CLAUSE_VALUE_TAG *); + 0|] + +let yylhs = "\255\255\ +\001\000\002\000\003\000\005\000\008\000\008\000\009\000\009\000\ +\010\000\004\000\012\000\011\000\013\000\014\000\018\000\018\000\ +\016\000\016\000\015\000\015\000\017\000\017\000\019\000\019\000\ +\020\000\020\000\006\000\021\000\021\000\022\000\007\000\007\000\ +\023\000\023\000\024\000\000\000" + +let yylen = "\002\000\ +\002\000\003\000\004\000\003\000\000\000\002\000\003\000\003\000\ +\002\000\003\000\003\000\009\000\003\000\003\000\000\000\001\000\ +\000\000\001\000\000\000\001\000\000\000\001\000\000\000\001\000\ +\000\000\001\000\003\000\000\000\002\000\001\000\000\000\003\000\ +\000\000\002\000\001\000\002\000" + +let yydefred = "\000\000\ +\000\000\000\000\000\000\036\000\000\000\000\000\000\000\000\000\ +\001\000\000\000\002\000\005\000\000\000\010\000\000\000\028\000\ +\000\000\000\000\000\000\004\000\006\000\000\000\033\000\003\000\ +\000\000\000\000\000\000\000\000\027\000\030\000\029\000\000\000\ +\005\000\009\000\007\000\000\000\000\000\008\000\032\000\035\000\ +\034\000\000\000\000\000\000\000\000\000\011\000\013\000\000\000\ +\020\000\000\000\014\000\018\000\000\000\022\000\000\000\016\000\ +\000\000\024\000\000\000\026\000\012\000" + +let yydgoto = "\002\000\ +\004\000\005\000\007\000\008\000\013\000\017\000\024\000\015\000\ +\021\000\026\000\028\000\034\000\037\000\045\000\050\000\053\000\ +\055\000\057\000\059\000\061\000\022\000\031\000\032\000\041\000" + +let yysindex = "\002\000\ +\255\254\000\000\010\255\000\000\019\000\021\255\017\255\023\255\ +\000\000\025\255\000\000\000\000\013\255\000\000\004\255\000\000\ +\019\255\010\255\010\255\000\000\000\000\250\254\000\000\000\000\ +\024\255\027\255\030\255\028\255\000\000\000\000\000\000\253\254\ +\000\000\000\000\000\000\043\255\031\255\000\000\000\000\000\000\ +\000\000\029\255\033\255\045\255\020\255\000\000\000\000\034\255\ +\000\000\026\255\000\000\000\000\022\255\000\000\032\255\000\000\ +\035\255\000\000\036\255\000\000\000\000" + +let yyrindex = "\000\000\ +\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ +\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ +\047\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ +\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ +\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ +\000\000\000\000\000\000\000\000\237\254\000\000\000\000\000\000\ +\000\000\242\254\000\000\000\000\001\255\000\000\011\255\000\000\ +\012\255\000\000\037\255\000\000\000\000" + +let yygindex = "\000\000\ +\000\000\000\000\000\000\239\255\000\000\000\000\000\000\022\000\ +\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ +\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + +let yytablesize = 62 +let yytable = "\019\000\ +\025\000\027\000\001\000\003\000\017\000\019\000\019\000\019\000\ +\019\000\019\000\017\000\017\000\017\000\018\000\017\000\029\000\ +\006\000\019\000\009\000\021\000\039\000\010\000\011\000\020\000\ +\030\000\021\000\021\000\021\000\040\000\015\000\023\000\012\000\ +\014\000\016\000\033\000\015\000\015\000\023\000\018\000\035\000\ +\046\000\023\000\019\000\043\000\036\000\048\000\038\000\044\000\ +\047\000\049\000\054\000\051\000\031\000\052\000\042\000\025\000\ +\000\000\000\000\056\000\058\000\000\000\060\000" + +let yycheck = "\019\001\ +\018\000\019\000\001\000\005\001\019\001\025\001\026\001\027\001\ +\028\001\029\001\025\001\026\001\027\001\010\001\029\001\022\001\ +\007\001\014\001\000\000\019\001\024\001\001\001\006\001\020\001\ +\031\001\025\001\026\001\027\001\032\001\019\001\019\001\009\001\ +\008\001\021\001\011\001\025\001\026\001\026\001\010\001\013\001\ +\012\001\023\001\014\001\001\001\015\001\001\001\019\001\017\001\ +\016\001\030\001\029\001\018\001\006\001\028\001\033\000\019\001\ +\255\255\255\255\027\001\025\001\255\255\026\001" + +let yynames_const = "\ + MODEL_TAG\000\ + MODEL_END_TAG\000\ + NAME_TAG\000\ + NAME_END_TAG\000\ + ELEMENTS_TAG\000\ + ELEMENT_STRUCT_TAG\000\ + ELEMENT_STRUCT_SUBNODES_TAG\000\ + ELEMENT_STRUCT_SUBNODES_END_TAG\000\ + ELEMENT_STRUCT_END_TAG\000\ + ELEMENT_TERMINAL_TAG\000\ + ELEMENT_TERMINAL_KIND_TAG\000\ + ELEMENT_TERMINAL_KIND_END_TAG\000\ + ELEMENT_TERMINAL_ID_TAG\000\ + ELEMENT_TERMINAL_ID_END_TAG\000\ + ELEMENT_TERMINAL_END_TAG\000\ + ELEMENTS_END_TAG\000\ + EQUATIONS_TAG\000\ + EQUATIONS_END_TAG\000\ + WHEN_CLAUSES_TAG\000\ + WHEN_CLAUSES_END_TAG\000\ + ELEMENT_TERMINAL_OUTPUT_TAG\000\ + ELEMENT_TERMINAL_SELECT_TAG\000\ + ERROR\000\ + EOF\000\ + " + +let yynames_block = "\ + IDENT\000\ + UNSIGNED_INTEGER\000\ + UNSIGNED_NUMBER\000\ + STRING\000\ + ELEMENT_TERMINAL_COMMENT_VALUE_TAG\000\ + ELEMENT_TERMINAL_INITIAL_VALUE_VALUE_TAG\000\ + ELEMENT_TERMINAL_NOMINAL_VALUE_VALUE_TAG\000\ + ELEMENT_TERMINAL_FIXED_VALUE_TAG\000\ + EQUATION_VALUE_TAG\000\ + WHEN_CLAUSE_VALUE_TAG\000\ + " + +let yyact = [| + (fun _ -> failwith "parser") +; (fun __caml_parser_env -> + let _1 = (Parsing.peek_val __caml_parser_env 1 : 'definition) in + Obj.repr( +# 65 "xMLParser.mly" + ( _1 ) +# 207 "xMLParser.ml" + : XMLTree.t)) +; (fun __caml_parser_env -> + let _2 = (Parsing.peek_val __caml_parser_env 1 : 'model_definition) in + Obj.repr( +# 69 "xMLParser.mly" + ( _2 ) +# 214 "xMLParser.ml" + : 'definition)) +; (fun __caml_parser_env -> + let _1 = (Parsing.peek_val __caml_parser_env 3 : 'name) in + let _2 = (Parsing.peek_val __caml_parser_env 2 : 'elements_definition) in + let _3 = (Parsing.peek_val __caml_parser_env 1 : 'equations_definition) in + let _4 = (Parsing.peek_val __caml_parser_env 0 : 'when_clauses_definition) in + Obj.repr( +# 74 "xMLParser.mly" + ( { name = _1; elements = _2; equations = _3; when_clauses = _4 } ) +# 224 "xMLParser.ml" + : 'model_definition)) +; (fun __caml_parser_env -> + let _2 = (Parsing.peek_val __caml_parser_env 1 : 'element_list) in + Obj.repr( +# 78 "xMLParser.mly" + ( List.rev _2 ) +# 231 "xMLParser.ml" + : 'elements_definition)) +; (fun __caml_parser_env -> + Obj.repr( +# 82 "xMLParser.mly" + ( [] ) +# 237 "xMLParser.ml" + : 'element_list)) +; (fun __caml_parser_env -> + let _1 = (Parsing.peek_val __caml_parser_env 1 : 'element_list) in + let _2 = (Parsing.peek_val __caml_parser_env 0 : 'element_definition) in + Obj.repr( +# 83 "xMLParser.mly" + ( _2 :: _1 ) +# 245 "xMLParser.ml" + : 'element_list)) +; (fun __caml_parser_env -> + let _2 = (Parsing.peek_val __caml_parser_env 1 : 'struct_contents) in + Obj.repr( +# 87 "xMLParser.mly" + ( Struct _2 ) +# 252 "xMLParser.ml" + : 'element_definition)) +; (fun __caml_parser_env -> + let _2 = (Parsing.peek_val __caml_parser_env 1 : 'terminal_contents) in + Obj.repr( +# 89 "xMLParser.mly" + ( Terminal _2 ) +# 259 "xMLParser.ml" + : 'element_definition)) +; (fun __caml_parser_env -> + let _1 = (Parsing.peek_val __caml_parser_env 1 : 'name) in + let _2 = (Parsing.peek_val __caml_parser_env 0 : 'subnodes_definition) in + Obj.repr( +# 93 "xMLParser.mly" + ( { struct_name = _1; subnodes = _2 } ) +# 267 "xMLParser.ml" + : 'struct_contents)) +; (fun __caml_parser_env -> + let _2 = (Parsing.peek_val __caml_parser_env 1 : string) in + Obj.repr( +# 97 "xMLParser.mly" + ( _2 ) +# 274 "xMLParser.ml" + : 'name)) +; (fun __caml_parser_env -> + let _2 = (Parsing.peek_val __caml_parser_env 1 : 'element_list) in + Obj.repr( +# 102 "xMLParser.mly" + ( List.rev _2 ) +# 281 "xMLParser.ml" + : 'subnodes_definition)) +; (fun __caml_parser_env -> + let _1 = (Parsing.peek_val __caml_parser_env 8 : 'name) in + let _2 = (Parsing.peek_val __caml_parser_env 7 : 'kind) in + let _3 = (Parsing.peek_val __caml_parser_env 6 : 'id) in + let _4 = (Parsing.peek_val __caml_parser_env 5 : 'fixed_value) in + let _5 = (Parsing.peek_val __caml_parser_env 4 : 'initial_value_value) in + let _6 = (Parsing.peek_val __caml_parser_env 3 : 'nominal_value_value) in + let _7 = (Parsing.peek_val __caml_parser_env 2 : 'comment_value) in + let _8 = (Parsing.peek_val __caml_parser_env 1 : 'output) in + let _9 = (Parsing.peek_val __caml_parser_env 0 : 'select) in + Obj.repr( +# 108 "xMLParser.mly" + ( { terminal_name = _1; + kind = _2; + id = _3; + comment = _7; + initial_value = _5; + nominal = _6; + output = _8; + select = _9; + fixed = _4 } ) +# 304 "xMLParser.ml" + : 'terminal_contents)) +; (fun __caml_parser_env -> + let _2 = (Parsing.peek_val __caml_parser_env 1 : string) in + Obj.repr( +# 121 "xMLParser.mly" + ( match _2 with + | "input" -> Input + | "fixed_parameter" -> FixedParameter + | "parameter" -> Parameter + | "variable" -> Variable + | "discrete_variable" -> DiscreteVariable + | _ -> raise Parsing.Parse_error ) +# 317 "xMLParser.ml" + : 'kind)) +; (fun __caml_parser_env -> + let _2 = (Parsing.peek_val __caml_parser_env 1 : string) in + Obj.repr( +# 132 "xMLParser.mly" + ( _2 ) +# 324 "xMLParser.ml" + : 'id)) +; (fun __caml_parser_env -> + Obj.repr( +# 136 "xMLParser.mly" + ( "" ) +# 330 "xMLParser.ml" + : 'comment_value)) +; (fun __caml_parser_env -> + let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in + Obj.repr( +# 137 "xMLParser.mly" + ( _1 ) +# 337 "xMLParser.ml" + : 'comment_value)) +; (fun __caml_parser_env -> + Obj.repr( +# 141 "xMLParser.mly" + ( "" ) +# 343 "xMLParser.ml" + : 'initial_value_value)) +; (fun __caml_parser_env -> + let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in + Obj.repr( +# 142 "xMLParser.mly" + ( _1 ) +# 350 "xMLParser.ml" + : 'initial_value_value)) +; (fun __caml_parser_env -> + Obj.repr( +# 146 "xMLParser.mly" + ( "" ) +# 356 "xMLParser.ml" + : 'fixed_value)) +; (fun __caml_parser_env -> + let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in + Obj.repr( +# 147 "xMLParser.mly" + ( _1 ) +# 363 "xMLParser.ml" + : 'fixed_value)) +; (fun __caml_parser_env -> + Obj.repr( +# 151 "xMLParser.mly" + ( "" ) +# 369 "xMLParser.ml" + : 'nominal_value_value)) +; (fun __caml_parser_env -> + let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in + Obj.repr( +# 152 "xMLParser.mly" + ( _1 ) +# 376 "xMLParser.ml" + : 'nominal_value_value)) +; (fun __caml_parser_env -> + Obj.repr( +# 156 "xMLParser.mly" + ( false ) +# 382 "xMLParser.ml" + : 'output)) +; (fun __caml_parser_env -> + Obj.repr( +# 157 "xMLParser.mly" + ( true ) +# 388 "xMLParser.ml" + : 'output)) +; (fun __caml_parser_env -> + Obj.repr( +# 161 "xMLParser.mly" + ( false ) +# 394 "xMLParser.ml" + : 'select)) +; (fun __caml_parser_env -> + Obj.repr( +# 162 "xMLParser.mly" + ( true ) +# 400 "xMLParser.ml" + : 'select)) +; (fun __caml_parser_env -> + let _2 = (Parsing.peek_val __caml_parser_env 1 : 'equation_list) in + Obj.repr( +# 166 "xMLParser.mly" + ( List.rev _2 ) +# 407 "xMLParser.ml" + : 'equations_definition)) +; (fun __caml_parser_env -> + Obj.repr( +# 170 "xMLParser.mly" + ( [] ) +# 413 "xMLParser.ml" + : 'equation_list)) +; (fun __caml_parser_env -> + let _1 = (Parsing.peek_val __caml_parser_env 1 : 'equation_list) in + let _2 = (Parsing.peek_val __caml_parser_env 0 : 'equation_definition) in + Obj.repr( +# 171 "xMLParser.mly" + ( _2 :: _1 ) +# 421 "xMLParser.ml" + : 'equation_list)) +; (fun __caml_parser_env -> + let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in + Obj.repr( +# 175 "xMLParser.mly" + ( _1 ) +# 428 "xMLParser.ml" + : 'equation_definition)) +; (fun __caml_parser_env -> + Obj.repr( +# 179 "xMLParser.mly" + ( [] ) +# 434 "xMLParser.ml" + : 'when_clauses_definition)) +; (fun __caml_parser_env -> + let _2 = (Parsing.peek_val __caml_parser_env 1 : 'when_clause_list) in + Obj.repr( +# 180 "xMLParser.mly" + ( List.rev _2 ) +# 441 "xMLParser.ml" + : 'when_clauses_definition)) +; (fun __caml_parser_env -> + Obj.repr( +# 184 "xMLParser.mly" + ( [] ) +# 447 "xMLParser.ml" + : 'when_clause_list)) +; (fun __caml_parser_env -> + let _1 = (Parsing.peek_val __caml_parser_env 1 : 'when_clause_list) in + let _2 = (Parsing.peek_val __caml_parser_env 0 : 'when_clause_definition) in + Obj.repr( +# 185 "xMLParser.mly" + ( _2 :: _1 ) +# 455 "xMLParser.ml" + : 'when_clause_list)) +; (fun __caml_parser_env -> + let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in + Obj.repr( +# 189 "xMLParser.mly" + ( _1 ) +# 462 "xMLParser.ml" + : 'when_clause_definition)) +(* Entry xML_definition_eof *) +; (fun __caml_parser_env -> raise (Parsing.YYexit (Parsing.peek_val __caml_parser_env 0))) +|] +let yytables = + { Parsing.actions=yyact; + Parsing.transl_const=yytransl_const; + Parsing.transl_block=yytransl_block; + Parsing.lhs=yylhs; + Parsing.len=yylen; + Parsing.defred=yydefred; + Parsing.dgoto=yydgoto; + Parsing.sindex=yysindex; + Parsing.rindex=yyrindex; + Parsing.gindex=yygindex; + Parsing.tablesize=yytablesize; + Parsing.table=yytable; + Parsing.check=yycheck; + Parsing.error_function=parse_error; + Parsing.names_const=yynames_const; + Parsing.names_block=yynames_block } +let xML_definition_eof (lexfun : Lexing.lexbuf -> token) (lexbuf : Lexing.lexbuf) = + (Parsing.yyparse yytables 1 lexfun lexbuf : XMLTree.t) +;; +# 192 "xMLParser.mly" + + +let parse filename token_fun lexbuf = + try + xML_definition_eof token_fun lexbuf + with + | Parsing.Parse_error -> + let linenum, linebeg = + Linenum.for_position filename (Lexing.lexeme_start lexbuf) + and linenum', linebeg' = + Linenum.for_position filename (Lexing.lexeme_end lexbuf) + in + let first_char = Lexing.lexeme_start lexbuf - linebeg + and first_char' = Lexing.lexeme_end lexbuf - linebeg' + in + Printf.printf + "Syntax error.\n\ + Start: %d and %d\n\ + Characters %d and %d\n\ + Line %d, character %d.\n\ + Line %d, character %d.\n" + linebeg + linebeg' + (Lexing.lexeme_start lexbuf) (Lexing.lexeme_end lexbuf) + linenum first_char + linenum' first_char'; + raise Exit +# 515 "xMLParser.ml" diff --git a/modules/scicos/src/xml2modelica/xMLParser.o b/modules/scicos/src/xml2modelica/xMLParser.o Binary files differnew file mode 100755 index 000000000..487a2a1eb --- /dev/null +++ b/modules/scicos/src/xml2modelica/xMLParser.o diff --git a/modules/scicos/src/xml2modelica/xMLTree.cmi b/modules/scicos/src/xml2modelica/xMLTree.cmi Binary files differnew file mode 100755 index 000000000..2ce79d361 --- /dev/null +++ b/modules/scicos/src/xml2modelica/xMLTree.cmi diff --git a/modules/scicos/src/xml2modelica/xMLTree.cmx b/modules/scicos/src/xml2modelica/xMLTree.cmx Binary files differnew file mode 100755 index 000000000..1e88c97ee --- /dev/null +++ b/modules/scicos/src/xml2modelica/xMLTree.cmx diff --git a/modules/scicos/src/xml2modelica/xMLTree.ml b/modules/scicos/src/xml2modelica/xMLTree.ml new file mode 100755 index 000000000..c9aae0981 --- /dev/null +++ b/modules/scicos/src/xml2modelica/xMLTree.ml @@ -0,0 +1,54 @@ +(* + * XML to Modelica + * + * Copyright (C) 2005 - 2007 Imagine S.A. + * For more information or commercial use please contact us at www.amesim.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + *) + +type t = + { + name: string; + elements: element list; + equations: string list; + when_clauses: string list + } + +and element = + | Struct of structured_element + | Terminal of terminal_element + +and structured_element = + { + struct_name: string; + subnodes: element list + } + +and terminal_element = + { + terminal_name: string; + kind: kind; + id: string; + comment: string; + initial_value: string; + nominal: string; + output: bool; + select: bool; + fixed: string + } + +and kind = Input | FixedParameter | Parameter | Variable | DiscreteVariable diff --git a/modules/scicos/src/xml2modelica/xMLTree.o b/modules/scicos/src/xml2modelica/xMLTree.o Binary files differnew file mode 100755 index 000000000..0972a3e0a --- /dev/null +++ b/modules/scicos/src/xml2modelica/xMLTree.o diff --git a/modules/scicos/src/xml2modelica/xml2modelica.vcxproj b/modules/scicos/src/xml2modelica/xml2modelica.vcxproj new file mode 100755 index 000000000..f0b77db53 --- /dev/null +++ b/modules/scicos/src/xml2modelica/xml2modelica.vcxproj @@ -0,0 +1,113 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{7CF15086-6DED-4F83-9C40-C4951FD373B3}</ProjectGuid> + <Keyword>MakeFileProj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Makefile</ConfigurationType> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Makefile</ConfigurationType> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>Makefile</ConfigurationType> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>Makefile</ConfigurationType> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir> + <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">nmake /f makefile.mak all /a</NMakeBuildCommandLine> + <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">nmake /f makefile.mak all /a</NMakeReBuildCommandLine> + <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">nmake /f makefile.mak clean /a</NMakeCleanCommandLine> + <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xml2modelica.exe</NMakeOutput> + <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions> + <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath> + <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeForcedIncludes)</NMakeForcedIncludes> + <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath> + <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir> + <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">nmake /f makefile.mak all /a</NMakeBuildCommandLine> + <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">nmake /f makefile.mak all /a</NMakeReBuildCommandLine> + <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">nmake /f makefile.mak clean /a</NMakeCleanCommandLine> + <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xml2modelica.exe</NMakeOutput> + <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions> + <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath> + <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeForcedIncludes)</NMakeForcedIncludes> + <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath> + <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir> + <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">nmake /f makefile.mak all /a</NMakeBuildCommandLine> + <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">nmake /f makefile.mak all /a</NMakeReBuildCommandLine> + <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">nmake /f makefile.mak clean /a</NMakeCleanCommandLine> + <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xml2modelica.exe</NMakeOutput> + <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions> + <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath> + <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeForcedIncludes)</NMakeForcedIncludes> + <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath> + <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir> + <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'">nmake /f makefile.mak all /a</NMakeBuildCommandLine> + <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'">nmake /f makefile.mak all /a</NMakeReBuildCommandLine> + <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'">nmake /f makefile.mak clean /a</NMakeCleanCommandLine> + <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xml2modelica.exe</NMakeOutput> + <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions> + <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath> + <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeForcedIncludes)</NMakeForcedIncludes> + <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath> + <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies> + </PropertyGroup> + <ItemDefinitionGroup> + </ItemDefinitionGroup> + <ItemGroup> + <None Include="makefile.mak" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/modules/scicos/src/xml2modelica/xml2modelica.vcxproj.filters b/modules/scicos/src/xml2modelica/xml2modelica.vcxproj.filters new file mode 100755 index 000000000..aaca9a412 --- /dev/null +++ b/modules/scicos/src/xml2modelica/xml2modelica.vcxproj.filters @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <None Include="makefile.mak"> + <Filter>Source Files</Filter> + </None> + </ItemGroup> +</Project>
\ No newline at end of file |