mirror of
git://source.winehq.org/git/wine.git
synced 2024-11-05 18:01:34 +00:00
b1bac32007
Sun Dec 15 16:18:15 1996 Alexandre Julliard <julliard@lrc.epfl.ch> * [graphics/x11drv/bitblt.c] Fixed BITBLT_StretchImage for partially covered or inverted bitmaps. * [objects/dib.c] Fixed the upside-down bitmap problem. Sat Dec 14 02:49:57 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk> * [if1632/user32.spec] IsMenu and RemoveMenu added (use existing Win16 functions). * [include/windows.h] Corrections to BITMAPINFOHEADER structure. * [loader/module.c] [if1632/kernel32.spec] New function GetModuleFileName32A (heavily based on original Win16 version). * [loader/pe_image.c] Hack to allow files with short PE header to be loaded (e.g. COMDLG32.DLL from Win32s). * [misc/winsock_async.c] #if out EIDRM case (not present in FreeBSD). * [tools/build.c] Remove trailing comments from .s files generated by build as these break assembly when not run through pre-processor. * [windows/graphics.c] [if1632/gdi32.spec] New function Polyline32 - based on original Polyline. Needs metafile support adding still. Fri Dec 13 13:04:06 1996 Bruce Milner <Bruce.Milner@genetics.utah.edu> * [win32/findfile.c] [if1632/kernel.spec] FindFirstFile32A(): Use dos current directory for drive prefixes. FindNextFile32A(): Fill in file attribute information. Implement FindFirstFile16, FindNextFile16, FindClose16. * [files/drive.c] GetCurrentDirectory32A - Fix problem with null 3rd character in string. Tue Dec 10 14:49:07 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de> * [windows/painting.c][windows/message.c] Don't use linked lists to call SendMessage(), for it might destroy the current listentry. * [misc/registry.c] Fixed temporary file saving (rename doesn't work across partitions). * [files/*.c] GetFullPathName*,GetDriveType32A fixed, CreateDirectoryEx*, GetVolumeInformation32W fixed. * [win32/process.c][if1632/kernel.spec][if1632/kernel32.spec] LoadLibrary* updated to new naming std., *32W added. * [win32/console.c] [include/wincon.h] Additions for NT commandline executables. * [if1632/advapi32.spec][if1632/kernel32.spec][win32/init.c] GetUserName32W added, GetComputerName32W added, GetStartupInfo32W added, GetSystemInfo updated to NT standard. * [windows/msgbox.c][misc/shell.c][windows/graphics.c] MessageBox32W, ShellAbout32W, CommandLineToArgvW, Polygon32 added. * [misc/crtdll.c][include/crtdll.h][if1632/crtdll.spec][misc/ntdll.c] [if1632/ntdll.spec] Lot of new unicode functions added (needed for NT). * [loader/pe_image.c] NtCurrentTeb added. Tue Dec 10 22:39:33 1996 Albrecht Kleine <kleine@ak.sax.de> * [windows/keyboard.c] Rewrote function TranslateAccelerator(). Mon Dec 9 14:52:13 1996 Slaven Rezic <eserte@cs.tu-berlin.de> * [windows/defwnd.c] DEFWND_SetText(): Set icon name. Sun Dec 8 23:30:00 1996 Alex Korobka <alex@trantor.pharm.sunysb.edu> * [loader/signal.c] [misc/winsock.c] [misc/winsock_async.c] [if1632/winsock.spec] IPC resource cleanup, bugfixes. * [windows/dialog.c] [windows/defdlg.c] More DefDlgProc() fixes. Sun Dec 8 14:01:42 1996 Vadim Strizhevsky <striv@ms.com> * [misc/clipboard.c] [objects/font.c] [win32/init.c] [win32/newfns.c] [windows/graphics.c] Added a few WIN32 functions which needed to run some win32 accessories. Clock should now work almost as well as 16 bit version. Add: RegisterClipboardFormat32W GetTextExtentExPoint32* GetModuleHandleW, DisableThreadLibraryCalls (empty stub), Polygon32 Fix: Polygon16 possible memory leak on error return.
173 lines
6.9 KiB
Text
173 lines
6.9 KiB
Text
%{
|
|
/*
|
|
* Help Viewer
|
|
*
|
|
* Copyright 1996 Ulrich Schmid
|
|
*/
|
|
|
|
#include "macro.h"
|
|
|
|
static int skip = 0;
|
|
static LPSTR filename;
|
|
static LPSTR windowname;
|
|
|
|
%}
|
|
%union
|
|
{
|
|
BOOL bool;
|
|
LONG integer;
|
|
LPSTR string;
|
|
BOOL (*bool_function_void)(VOID);
|
|
BOOL (*bool_function_string)(LPCSTR);
|
|
VOID (*void_function_void)(VOID);
|
|
VOID (*void_function_uint)(LONG);
|
|
VOID (*void_function_string)(LPCSTR);
|
|
VOID (*void_function_2int_3uint_string)(LONG,LONG,LONG,LONG,LONG,LPCSTR);
|
|
VOID (*void_function_2string)(LPCSTR,LPCSTR);
|
|
VOID (*void_function_2string_2uint_2string)(LPCSTR,LPCSTR,LONG,LONG,LPCSTR,LPCSTR);
|
|
VOID (*void_function_2string_uint)(LPCSTR,LPCSTR,LONG);
|
|
VOID (*void_function_2string_uint_string)(LPCSTR,LPCSTR,LONG,LPCSTR);
|
|
VOID (*void_function_2string_wparam_lparam_string)(LPCSTR,LPCSTR,WPARAM,LPARAM,LPCSTR);
|
|
VOID (*void_function_2uint)(LONG,LONG);
|
|
VOID (*void_function_2uint_string)(LONG,LONG,LPCSTR);
|
|
VOID (*void_function_3string)(LPCSTR,LPCSTR,LPCSTR);
|
|
VOID (*void_function_3string_2uint)(LPCSTR,LPCSTR,LPCSTR,LONG,LONG);
|
|
VOID (*void_function_3uint)(LONG,LONG,LONG);
|
|
VOID (*void_function_4string)(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
|
|
VOID (*void_function_4string_2uint)(LPCSTR,LPCSTR,LPCSTR,LPCSTR,LONG,LONG);
|
|
VOID (*void_function_4string_uint)(LPCSTR,LPCSTR,LPCSTR,LPCSTR,LONG);
|
|
VOID (*void_function_string_uint)(LPCSTR,LONG);
|
|
VOID (*void_function_string_uint_2string)(LPCSTR,LONG,LPCSTR,LPCSTR);
|
|
VOID (*void_function_string_uint_string)(LPCSTR,LONG,LPCSTR);
|
|
VOID (*void_function_string_wparam_lparam)(LPCSTR,WPARAM,LPARAM);
|
|
}
|
|
%token NOT
|
|
%token IF_THEN
|
|
%token IF_THEN_ELSE
|
|
%token <string> tSTRING
|
|
%token <integer> INTEGER
|
|
%token <bool_function_string> BOOL_FUNCTION_STRING
|
|
%token <bool_function_void> BOOL_FUNCTION_VOID
|
|
%token <void_function_2int_3uint_string> VOID_FUNCTION_2INT_3UINT_STRING
|
|
%token <void_function_2string> VOID_FUNCTION_2STRING
|
|
%token <void_function_2string_2uint_2string> VOID_FUNCTION_2STRING_2UINT_2STRING
|
|
%token <void_function_2string_uint> VOID_FUNCTION_2STRING_UINT
|
|
%token <void_function_2string_uint_string> VOID_FUNCTION_2STRING_UINT_STRING
|
|
%token <void_function_2string_wparam_lparam_string> VOID_FUNCTION_2STRING_WPARAM_LPARAM_STRING
|
|
%token <void_function_2uint> VOID_FUNCTION_2UINT
|
|
%token <void_function_2uint_string> VOID_FUNCTION_2UINT_STRING
|
|
%token <void_function_3string> VOID_FUNCTION_3STRING
|
|
%token <void_function_3string_2uint> VOID_FUNCTION_3STRING_2UINT
|
|
%token <void_function_3uint> VOID_FUNCTION_3UINT
|
|
%token <void_function_4string> VOID_FUNCTION_4STRING
|
|
%token <void_function_4string_2uint> VOID_FUNCTION_4STRING_2UINT
|
|
%token <void_function_4string_uint> VOID_FUNCTION_4STRING_UINT
|
|
%token <void_function_string> VOID_FUNCTION_STRING
|
|
%token <void_function_string_uint> VOID_FUNCTION_STRING_UINT
|
|
%token <void_function_string_uint_2string> VOID_FUNCTION_STRING_UINT_2STRING
|
|
%token <void_function_string_uint_string> VOID_FUNCTION_STRING_UINT_STRING
|
|
%token <void_function_string_wparam_lparam> VOID_FUNCTION_STRING_WPARAM_LPARAM
|
|
%token <void_function_uint> VOID_FUNCTION_UINT
|
|
%token <void_function_void> VOID_FUNCTION_VOID
|
|
%token <void_function_2string> VOID_FUNCTION_FILE_WIN
|
|
%token <void_function_3string> VOID_FUNCTION_FILE_WIN_STRING
|
|
%token <void_function_2string_uint> VOID_FUNCTION_FILE_WIN_UINT
|
|
%type <bool> bool_macro
|
|
%%
|
|
|
|
macrostring: macro |
|
|
macro macrosep macrostring ;
|
|
|
|
macrosep: ';' |
|
|
':' ;
|
|
|
|
macro: /* Empty */ |
|
|
IF_THEN '(' bool_macro ',' {if (! $3) skip++;}
|
|
macrostring ')' {if (! $3) skip--;} |
|
|
IF_THEN_ELSE '(' bool_macro ',' {if (! $3) skip++;}
|
|
macrostring ',' {if (! $3) skip--; else skip++;}
|
|
macrostring ')' {if ( $3) skip--;} |
|
|
VOID_FUNCTION_VOID
|
|
'(' ')'
|
|
{if (! skip) (*$1)();} |
|
|
VOID_FUNCTION_STRING
|
|
'(' tSTRING ')'
|
|
{if (! skip) (*$1)($3);} |
|
|
VOID_FUNCTION_2STRING
|
|
'(' tSTRING ',' tSTRING ')'
|
|
{if (! skip) (*$1)($3, $5);} |
|
|
VOID_FUNCTION_2STRING_UINT
|
|
'(' tSTRING ',' tSTRING ',' INTEGER ')'
|
|
{if (! skip) (*$1)($3, $5, $7);} |
|
|
VOID_FUNCTION_2STRING_UINT_STRING
|
|
'(' tSTRING ',' tSTRING ',' INTEGER ',' tSTRING ')'
|
|
{if (! skip) (*$1)($3, $5, $7, $9);} |
|
|
VOID_FUNCTION_2STRING_2UINT_2STRING
|
|
'(' tSTRING ',' tSTRING ',' INTEGER ',' INTEGER ',' tSTRING ',' tSTRING ')'
|
|
{if (! skip) (*$1)($3, $5, $7, $9, $11, $13);} |
|
|
VOID_FUNCTION_2STRING_WPARAM_LPARAM_STRING
|
|
'(' tSTRING ',' tSTRING ',' INTEGER ',' INTEGER ',' tSTRING ')'
|
|
{if (! skip) (*$1)($3, $5, $7, $9, $11);} |
|
|
VOID_FUNCTION_3STRING
|
|
'(' tSTRING ',' tSTRING ',' tSTRING ')'
|
|
{if (! skip) (*$1)($3, $5, $7);} |
|
|
VOID_FUNCTION_3STRING_2UINT
|
|
'(' tSTRING ',' tSTRING ',' tSTRING ',' INTEGER ',' INTEGER ')'
|
|
{if (! skip) (*$1)($3, $5, $7, $9, $11);} |
|
|
VOID_FUNCTION_4STRING
|
|
'(' tSTRING ',' tSTRING ',' tSTRING ',' tSTRING ')'
|
|
{if (! skip) (*$1)($3, $5, $7, $9);} |
|
|
VOID_FUNCTION_4STRING_UINT
|
|
'(' tSTRING ',' tSTRING ',' tSTRING ',' tSTRING ',' INTEGER')'
|
|
{if (! skip) (*$1)($3, $5, $7, $9, $11);} |
|
|
VOID_FUNCTION_4STRING_2UINT
|
|
'(' tSTRING ',' tSTRING ',' tSTRING ',' tSTRING ',' INTEGER ',' INTEGER')'
|
|
{if (! skip) (*$1)($3, $5, $7, $9, $11, $13);} |
|
|
VOID_FUNCTION_STRING_UINT
|
|
'(' tSTRING ',' INTEGER ')'
|
|
{if (! skip) (*$1)($3, $5);} |
|
|
VOID_FUNCTION_STRING_UINT_STRING
|
|
'(' tSTRING ',' INTEGER ',' tSTRING ')'
|
|
{if (! skip) (*$1)($3, $5, $7);} |
|
|
VOID_FUNCTION_STRING_UINT_2STRING
|
|
'(' tSTRING ',' INTEGER ',' tSTRING ',' tSTRING ')'
|
|
{if (! skip) (*$1)($3, $5, $7, $9);} |
|
|
VOID_FUNCTION_STRING_WPARAM_LPARAM
|
|
'(' tSTRING ',' INTEGER ',' INTEGER ')'
|
|
{if (! skip) (*$1)($3, $5, $7);} |
|
|
VOID_FUNCTION_UINT
|
|
'(' INTEGER ')'
|
|
{if (! skip) (*$1)($3);} |
|
|
VOID_FUNCTION_2UINT
|
|
'(' INTEGER ',' INTEGER ')'
|
|
{if (! skip) (*$1)($3, $5);} |
|
|
VOID_FUNCTION_2UINT_STRING
|
|
'(' INTEGER ',' INTEGER ',' tSTRING ')'
|
|
{if (! skip) (*$1)($3, $5, $7);} |
|
|
VOID_FUNCTION_3UINT
|
|
'(' INTEGER ',' INTEGER ',' INTEGER ')'
|
|
{if (! skip) (*$1)($3, $5, $7);} |
|
|
VOID_FUNCTION_2INT_3UINT_STRING
|
|
'(' INTEGER ',' INTEGER ',' INTEGER ',' INTEGER ',' INTEGER ',' tSTRING ')'
|
|
{if (! skip) (*$1)($3, $5, $7, $9, $11, $13);} |
|
|
VOID_FUNCTION_FILE_WIN
|
|
'(' file_win ')'
|
|
{if (! skip) (*$1)(filename, windowname);} |
|
|
VOID_FUNCTION_FILE_WIN_STRING
|
|
'(' file_win ',' tSTRING ')'
|
|
{if (! skip) (*$1)(filename, windowname, $5);} |
|
|
VOID_FUNCTION_FILE_WIN_UINT
|
|
'(' file_win ',' INTEGER ')'
|
|
{if (! skip) (*$1)(filename, windowname, $5);} ;
|
|
|
|
file_win: tSTRING
|
|
{
|
|
filename = windowname = $1;
|
|
while (*windowname && *windowname != '>') windowname++;
|
|
if (*windowname) *windowname++ = 0;
|
|
} ;
|
|
|
|
bool_macro: NOT '(' bool_macro ')' {$$ = ! $3;} |
|
|
tSTRING {$$ = MACRO_IsMark($1);} |
|
|
BOOL_FUNCTION_VOID '(' ')' {$$ = (*$1)();} |
|
|
BOOL_FUNCTION_STRING '(' tSTRING ')' {$$ = (*$1)($3);} ;
|