Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
7b115811
Commit
7b115811
authored
Jun 02, 2009
by
Francois Gouget
Committed by
Alexandre Julliard
Jun 03, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winapi_extract: The old C parser is not needed anymore so remove it.
parent
0ab4df02
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
4 additions
and
275 deletions
+4
-275
winapi_c_parser.pm
tools/winapi/winapi_c_parser.pm
+0
-264
winapi_extract
tools/winapi/winapi_extract
+1
-7
winapi_extract_options.pm
tools/winapi/winapi_extract_options.pm
+3
-4
No files found.
tools/winapi/winapi_c_parser.pm
deleted
100644 → 0
View file @
0ab4df02
#
# Copyright 1999, 2000, 2001 Patrik Stridvall
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library 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
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
#
package
winapi_c_parser
;
use
strict
;
use
vars
qw($VERSION @ISA @EXPORT @EXPORT_OK)
;
require
Exporter
;
@ISA
=
qw(Exporter)
;
@EXPORT
=
qw()
;
@EXPORT_OK
=
qw()
;
use
options
qw($options)
;
use
output
qw($output)
;
use
c_function
;
use
c_type
;
use
function
;
use
winapi_function
;
use
winapi_parser
;
########################################################################
# new
#
sub
new
($$)
{
my
$proto
=
shift
;
my
$class
=
ref
(
$proto
)
||
$proto
;
my
$self
=
{};
bless
(
$self
,
$class
);
my
$file
=
\
$
{
$self
->
{
FILE
}};
my
$create_function
=
\
$
{
$self
->
{
CREATE_FUNCTION
}};
my
$create_type
=
\
$
{
$self
->
{
CREATE_TYPE
}};
my
$found_comment
=
\
$
{
$self
->
{
FOUND_COMMENT
}};
my
$found_declaration
=
\
$
{
$self
->
{
FOUND_DECLARATION
}};
my
$found_function
=
\
$
{
$self
->
{
FOUND_FUNCTION
}};
my
$found_function_call
=
\
$
{
$self
->
{
FOUND_FUNCTION_CALL
}};
my
$found_line
=
\
$
{
$self
->
{
FOUND_LINE
}};
my
$found_preprocessor
=
\
$
{
$self
->
{
FOUND_PREPROCESSOR
}};
my
$found_statement
=
\
$
{
$self
->
{
FOUND_STATEMENT
}};
my
$found_type
=
\
$
{
$self
->
{
FOUND_TYPE
}};
my
$found_variable
=
\
$
{
$self
->
{
FOUND_VARIABLE
}};
$$file
=
shift
;
$$create_function
=
sub
{
return
new
c_function
;
};
$$create_type
=
sub
{
return
new
c_type
;
};
$$found_comment
=
sub
{
return
1
;
};
$$found_declaration
=
sub
{
return
1
;
};
$$found_function
=
sub
{
return
1
;
};
$$found_function_call
=
sub
{
return
1
;
};
$$found_line
=
sub
{
return
1
;
};
$$found_preprocessor
=
sub
{
return
1
;
};
$$found_statement
=
sub
{
return
1
;
};
$$found_type
=
sub
{
return
1
;
};
$$found_variable
=
sub
{
return
1
;
};
return
$self
;
}
########################################################################
# set_found_comment_callback
#
sub
set_found_comment_callback
($$)
{
my
$self
=
shift
;
my
$found_comment
=
\
$
{
$self
->
{
FOUND_COMMENT
}};
$$found_comment
=
shift
;
}
########################################################################
# set_found_declaration_callback
#
sub
set_found_declaration_callback
($$)
{
my
$self
=
shift
;
my
$found_declaration
=
\
$
{
$self
->
{
FOUND_DECLARATION
}};
$$found_declaration
=
shift
;
}
########################################################################
# set_found_function_callback
#
sub
set_found_function_callback
($$)
{
my
$self
=
shift
;
my
$found_function
=
\
$
{
$self
->
{
FOUND_FUNCTION
}};
$$found_function
=
shift
;
}
########################################################################
# set_found_function_call_callback
#
sub
set_found_function_call_callback
($$)
{
my
$self
=
shift
;
my
$found_function_call
=
\
$
{
$self
->
{
FOUND_FUNCTION_CALL
}};
$$found_function_call
=
shift
;
}
########################################################################
# set_found_line_callback
#
sub
set_found_line_callback
($$)
{
my
$self
=
shift
;
my
$found_line
=
\
$
{
$self
->
{
FOUND_LINE
}};
$$found_line
=
shift
;
}
########################################################################
# set_found_preprocessor_callback
#
sub
set_found_preprocessor_callback
($$)
{
my
$self
=
shift
;
my
$found_preprocessor
=
\
$
{
$self
->
{
FOUND_PREPROCESSOR
}};
$$found_preprocessor
=
shift
;
}
########################################################################
# set_found_statement_callback
#
sub
set_found_statement_callback
($$)
{
my
$self
=
shift
;
my
$found_statement
=
\
$
{
$self
->
{
FOUND_STATEMENT
}};
$$found_statement
=
shift
;
}
########################################################################
# set_found_type_callback
#
sub
set_found_type_callback
($$)
{
my
$self
=
shift
;
my
$found_type
=
\
$
{
$self
->
{
FOUND_TYPE
}};
$$found_type
=
shift
;
}
########################################################################
# set_found_variable_callback
#
sub
set_found_variable_callback
($$)
{
my
$self
=
shift
;
my
$found_variable
=
\
$
{
$self
->
{
FOUND_VARIABLE
}};
$$found_variable
=
shift
;
}
########################################################################
# parse_c_file
sub
parse_c_file
($$$$)
{
my
$self
=
shift
;
my
$file
=
\
$
{
$self
->
{
FILE
}};
my
$found_comment
=
\
$
{
$self
->
{
FOUND_COMMENT
}};
my
$found_declaration
=
\
$
{
$self
->
{
FOUND_DECLARATION
}};
my
$create_function
=
\
$
{
$self
->
{
CREATE_FUNCTION
}};
my
$found_function
=
\
$
{
$self
->
{
FOUND_FUNCTION
}};
my
$found_function_call
=
\
$
{
$self
->
{
FOUND_FUNCTION_CALL
}};
my
$found_line
=
\
$
{
$self
->
{
FOUND_LINE
}};
my
$found_preprocessor
=
\
$
{
$self
->
{
FOUND_PREPROCESSOR
}};
my
$found_statement
=
\
$
{
$self
->
{
FOUND_STATEMENT
}};
my
$found_variable
=
\
$
{
$self
->
{
FOUND_VARIABLE
}};
my
$refcurrent
=
shift
;
my
$refline
=
shift
;
my
$refcolumn
=
shift
;
my
$_create_function
=
sub
{
return
'function'
->
new
;
};
my
$_create_type
=
sub
{
return
'type'
->
new
;
};
my
$_found_function
=
sub
{
my
$old_function
=
shift
;
my
$function
=
new
c_function
;
$function
->
file
(
$old_function
->
file
);
$function
->
begin_line
(
$old_function
->
function_line
);
$function
->
begin_column
(
0
);
$function
->
end_line
(
$old_function
->
function_line
);
$function
->
end_column
(
0
);
$function
->
linkage
(
$old_function
->
linkage
);
$function
->
return_type
(
$old_function
->
return_type
);
$function
->
calling_convention
(
$old_function
->
calling_convention
);
$function
->
name
(
$old_function
->
internal_name
);
if
(
defined
(
$old_function
->
argument_types
))
{
$function
->
argument_types
([
@
{
$old_function
->
argument_types
}]);
}
if
(
defined
(
$old_function
->
argument_names
))
{
$function
->
argument_names
([
@
{
$old_function
->
argument_names
}]);
}
$function
->
statements_line
(
$old_function
->
statements_line
);
$function
->
statements_column
(
0
);
$function
->
statements
(
$old_function
->
statements
);
&
$$found_function
(
$function
);
};
my
$_found_preprocessor
=
sub
{
my
$directive
=
shift
;
my
$argument
=
shift
;
my
$begin_line
=
0
;
my
$begin_column
=
0
;
my
$preprocessor
=
"#$directive $argument"
;
&
$$found_preprocessor
(
$begin_line
,
$begin_column
,
$preprocessor
);
};
my
$_found_type
=
sub
{
my
$type
=
shift
;
};
winapi_parser::
parse_c_file
(
$$file
,
{
# c_comment_found => $found_c_comment,
# cplusplus_comment_found => $found_cplusplus_comment,
function_create
=>
$_create_function
,
function_found
=>
$_found_function
,
preprocessor_found
=>
$_found_preprocessor
,
type_create
=>
$_create_type
,
type_found
=>
$_found_type
,
});
}
1
;
tools/winapi/winapi_extract
View file @
7b115811
...
...
@@ -41,7 +41,6 @@ use c_parser;
use
function
;
use
type
;
use
winapi_c_parser
;
use
winapi_function
;
use
vars
qw($win16api $win32api @winapis)
;
...
...
@@ -223,12 +222,7 @@ foreach my $file (@h_files, @c_files) {
if
(
$_
)
{
$max_line
++
;
}
}
my
$parser
;
if
(
!
$options
->
old
)
{
$parser
=
new
c_parser
(
$file
);
}
else
{
$parser
=
new
winapi_c_parser
(
$file
);
}
my
$parser
=
new
c_parser
(
$file
);
my
$function
;
my
$line
;
...
...
tools/winapi/winapi_extract_options.pm
View file @
7b115811
...
...
@@ -40,15 +40,14 @@ my %options_long = (
"win16"
=>
{
default
=>
1
,
description
=>
"Win16 extraction"
},
"win32"
=>
{
default
=>
1
,
description
=>
"Win32 extraction"
},
"old"
=>
{
default
=>
0
,
description
=>
"use the old parser"
},
"headers"
=>
{
default
=>
0
,
description
=>
"parse the .h files as well"
},
"implemented"
=>
{
default
=>
0
,
parent
=>
"old"
,
description
=>
"implemented functions extraction"
},
"implemented"
=>
{
default
=>
0
,
description
=>
"implemented functions extraction"
},
"pseudo-implemented"
=>
{
default
=>
0
,
parent
=>
"implemented"
,
description
=>
"pseudo implemented functions extraction"
},
"struct"
=>
{
default
=>
0
,
parent
=>
"headers"
,
description
=>
"struct extraction"
},
"stub-statistics"
=>
{
default
=>
0
,
parent
=>
"old"
,
description
=>
"stub statistics"
},
"stub-statistics"
=>
{
default
=>
0
,
description
=>
"stub statistics"
},
"pseudo-stub-statistics"
=>
{
default
=>
0
,
parent
=>
"stub-statistics"
,
description
=>
"pseudo stub statistics"
},
"winetest"
=>
{
default
=>
0
,
parent
=>
"old"
,
description
=>
"winetest extraction"
},
"winetest"
=>
{
default
=>
0
,
description
=>
"winetest extraction"
},
);
my
%
options_short
=
(
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment