Hex Buffer
Todays deals on Hex Buffer?
|
|
200PCS SN7407D SN7407 7407 SOP-14 Hex Buffers Voltage $244.99 |
|
|
500 PCS CD4050BE CD4050 DIP CMOS HEX BUFFERS/CONVERTERS $223.99 |
|
|
250PC CD4050BD CD4050BE DIP CMOS HEX BUFFERS/CONVERTERS $159.99 |
|
|
500 PCS CD4049UBE DIP CD4049 CMOS HEX BUFFERS/CONVERTERS /FREE Register Mail $155.99 |
|
|
100x DM7407M DM7407 SN7407 7407 SOP Hex Buffers Voltage $139.99 |
|
|
96x Texas Instruments TI Hex Buffer DIP IC SN7407N NEW $102.72 |
|
|
35 PC’S P/N 100319QC IC’S Buffers & Line Drivers Hex Line Driver PLCC-28 PINS $99.99 |
|
|
100PCS 74LS367 DIP16 DIP-16 HITACHI Tri State Hex Buffer Logic IC $83.60 |
|
|
100PCS 74LS06 DIP14 DIP-14 TI HEX INVERTER BUFFER DIP IC $83.60 |
|
|
100PCS CD4049UBE DIP-16 CD4049 4049 DIP16 TI Hex Buffer/Converte $71.06 |
|
|
100PCS CD4010 CMOS HEX BUFFERS/CONVERTERS Semiconductor TI DIP16 DIP-16 IC $57.48 |
|
|
ST M74HC368B1 INVERTING HEX BUS BUFFER 3-ST NEW QTY-300 $49.95 |
|
|
100PCS 74LS05 DIP14 DIP-14 HITACHI Drivers Hex Inverter Inverting Buffer IC $50.21 |
|
|
100PCS CD4050BE DIP-16 CD4050 TI HEX Non-Inverting Buffer/Converte̴r $49.91 |
|
|
Lot of 100 Hex Buffer 74c906 P/N 5443714906 $39.99 |
|
|
Lot of RCA: SK4049UB COS/MOS IC Inverting Hex Buffer $29.99 |
|
|
2 pack CD4010CN hex buffer convter IC new $24.95 |
|
|
55 PCS CD4050BE CD4050 DIP CMOS HEX BUFFERS/CONVERTERS $26.99 |
|
|
Texas Instruments SN74LV07APW Hex Buffers/Drivers With Open-Drain Outputs $19.99 |
|
|
50pcs CD4049UBE CD4049 Hex Buffer/Converters IC $24.99 |
|
|
50pcs CD4050BE CMOS Hex Non-Inverting Buffer/Converter $24.99 |
|
|
50pcs CD4050BE CMOS Hex Non-Inverting Buffer/Converter $24.99 |
|
|
50pcs CD4049UBE CD4049 Hex Buffer/Converters IC $24.99 |
|
|
50pcs CD4049UBE CD4049 Hex Buffer/Converters IC $24.99 |
|
|
50pcs CD4050BE CMOS Hex Non-Inverting Buffer/Converter $24.99 |
|
|
(25) CD4050BE DIP CMOS HEX BUFFERS/CONVERTER NEW!! $12.00 |
|
|
Lot of 38 F DM7416N Hex Inv Buffers w/ HV Open-Collector Outputs $14.99 |
|
|
50 PCS CD4049UBE DIP CD4049 CMOS HEX BUFFERS/CONVERTERS $20.49 |
|
|
50 PCS CD4050BE DIP CD4050 Hex Inverting Buffer $19.99 |
|
|
4 Motorola MC10H188L Hex Buffers with Enable IC’s $12.99 |
|
|
50 PCS CD4050BE DIP CD4050 Hex Inverting Buffer $19.99 |
|
|
LOT 10X SN74LVC06 TI HEX INVERTER BUFFERS/DRIVERS $19.99 |
|
|
25 CD4050 HEF4050 DIP HEX BUFFERS/CONVERTERS $15.99 |
|
|
50 PCS CD4049UBM SOP CD4049 CMOS HEX BUFFERS/CONVERTERS $18.29 |
|
|
50 PCS CD4049UBM SOP CD4049 CMOS HEX BUFFERS/CONVERTERS $18.29 |
|
|
7417N Signetics TTL Hex Buffers HV output 7417 SN7417N DM7417N IC 25pcs $12.00 |
|
|
20 PCS SN7406N DIP-14 SN7406 7406 HEX INVERTER BUFFERS/DRIVERS NEW $17.49 |
|
|
10PCS SN7407D SN7407 7407 SOP-14 Hex Buffers Voltage $17.49 |
|
|
14pcs CD4502 CMOS Strobed Hex Inverter / Buffer $9.95 |
|
|
7407 SN7407N Hex Buffer/Driver 5 Pieces $3.91 |
|
|
50 x CD4049UBE CD4049 4049 IC Hex Buffer/Converters $15.99 |
|
|
50 PCS CD4049UBE DIP-16 CD4049 CMOS HEX BUFFERS/CONVERTERS $15.98 |
|
|
10 PCS SN7407D SN7407 7407 SOP-14 Hex Buffers Voltage $15.58 |
|
|
10 PCS SN7407D SOP-14 SN7407 7407 Hex Buffers Voltage $15.58 |
|
|
10 PCS SN7407D SOP-14 SN7407 7407 Hex Buffers Voltage $15.58 |
|
|
CD54HC4050F3A – CD54HC4050 CMOS Logic Hex Buffers Inverting and Non-Inverting IC $11.57 |
|
|
10 Pack 4050BE SCL hex buffer cmos 16 pin new $9.00 |
|
|
25- HEF4049BP HEX INVERTING BUFFER 4049 LOGIC IC $10.00 |
|
|
22 PCS CD4050BE CD4050 DIP CMOS HEX BUFFERS/CONVERTERS $14.99 |
|
|
74ALS1005N 74ALS1005 HEX INVERTING BUFFERS 14-PIN DIP PACKAGE (Qty 15) **NEW** $9.99 |
|
|
74ALS1035N 74ALS1035 HEX NON-INVERTING BUFFERS 14-PIN DIP PACKAGE (Qty 25) $9.99 |
|
|
30 PCS CD4049UBE DIP CD4049 CMOS HEX BUFFERS/CONVERTERS /FREE Register Mail $13.99 |
|
|
SNJ5407J [SNJ5407] HEX BUFFERS DRIVER IC $8.66 |
|
|
SNJ5400J [SNJ5400] HEX BUFFERS DRIVER IC $8.66 |
|
|
MC6887P HEX THREE-STATE BUFFER/INVERTERS $7.88 |
|
|
ELCAP 74HCT367 HEX BUS BUFFER/LINE DRIVERS (40 PCS) $9.00 |
|
|
ELCAP 74HC367 HEX BUS BUFFER/LINE DRIVERS (40 PCS) $9.00 |
|
|
20pcs CD4050BE CMOS Hex Non-Inverting Buffer/Converter $12.99 |
|
|
20pcs CD4049UBE CD4049 Hex Buffer/Converters IC $12.99 |
|
|
20pcs CD4050BE CMOS Hex Non-Inverting Buffer/Converter $12.99 |
|
|
20pcs CD4049UBE CD4049 Hex Buffer/Converters IC $12.99 |
|
|
20pcs CD4049UBE CD4049 Hex Buffer/Converters IC $12.99 |
|
|
20pcs CD4050BE CMOS Hex Non-Inverting Buffer/Converter $12.99 |
|
|
MC10H188, High Speed Hex Buffer, with Enable, Qty 5 $12.99 |
|
|
10 74LVC07AD SOP14 Hex buffer with open-drain outputs $10.80 |
|
|
20x 74HC4050 High-Speed CMOS Logic Hex Buffers AC3679 $12.69 |
|
|
20 PCS CD4050BE CD4050 DIP CMOS HEX BUFFERS/CONVERTERS $12.39 |
|
|
SN5417J (SNC5417J) Hex Buffers-Drivers $6.71 |
|
|
LOT OF 2 EGG COMPONENT HEX BUFFER CONVERTER ECG 4049 $12.00 |
|
|
20 PCS CD4050BE DIP CD4050 Hex Inverting Buffer $11.99 |
|
|
6PCS DM7407M DM7407 SN7407 7407 SOP Hex Buffers Voltage $11.99 |
|
|
MC10188 Hex Buffer With Enable $7.95 |
|
|
MC10195 Hex Inverter/Buffer $7.95 |
|
|
MC14503 Hex Non-Inverting 3-State Buffer $7.95 |
|
|
MC10H188 Hex Buffer with Enable $7.95 |
|
|
ELCAP 74HCT365 HEX BUFFER/LINE DRIVER 3-STATE (20 PCS) $8.00 |
|
|
SN7417N TI Hex Buffers HV 7417 7417N DM7417 IC 10pcs $6.00 |
|
|
LOT 10X SN74LVC06 TI HEX INVERTER BUFFERS/DRIVERS $0.99 |
|
|
SNJ5406J Mil-Spec Hex Inverter Buffer/Drivers $6.98 |
|
|
10 PCS SN7407N DIP-14 SN7407 7407 HEX BUFFERS/DRIVERS $10.69 |
|
|
10 PCS SN7407N DIP-14 SN7407 7407 HEX BUFFERS/DRIVERS $10.69 |
|
|
MC10H188FNR2 Hex Buffer with Enable, PLLC-20, Qty.5 $9.99 |
|
|
11PCS CD4050BD CD4050BE DIP CMOS HEX BUFFERS/CONVERTERS $9.99 |
|
|
10PCS 74LS06 DIP14 DIP-14 TI HEX INVERTER BUFFER DIP IC $9.84 |
|
|
10PCS 74LS367 DIP16 DIP-16 HITACHI Tri State Hex Buffer Logic IC $9.84 |
|
|
7404 Hex inverter buffer 25 Pcs. $8.09 |
|
|
DM7416N Hex Inverting Buffers with High Voltage $3.93 |
|
|
MM74C907N IC BUFFER HEX OPEN DRAIN $3.75 |
|
|
CD4010 E CMOS HEX BUFFERS/CONVERTERS $3.93 |
|
|
HEF4049BD Encapsualtion:DIP-16 Manu:NXP/PHI HEX inverting buffers $5.00 |
|
|
SN5407J Manu:TI Encapsulation:DIP-14,HEX BUFFERS/DRIVERS WITH OPEN-COLLECTOR $5.00 |
|
|
N8T97N Manu:Sig/phi Encapsulation:DIP,High Speed Hex 3-State Buffers/Inverters $5.00 |
|
|
5 PCS DM7407M DM7407 SN7407 SOP Hex Buffers Voltage $8.99 |
|
|
20 PCS CD4049UBE DIP CD4049 CMOS HEX BUFFERS/CONVERTERS $8.99 |
|
|
10x 74HC4050 High-Speed CMOS Logic Hex Buffers $5.04 |
|
|
17 x TC74HC4049P (CD4049 4049) Hex Buffer/Inverter $5.99 |
|
|
5pcs DIP IC CMOS CD4503BE 4503 HEX BUFFER TI $3.20 |
|
|
N8T97N HIGH SPEED HEX 3 STATE BUFFERS/INVERTORS X 1PC $4.72 |
|
|
HD7406P Hitachi TTL Hex Inverter Buffer/Driver DM7406N SN7406N 7406 IC 5pcs $3.60 |
|
|
10PCS CD4049UBE DIP-16 CD4049 4049 DIP16 TI Hex Buffer/Converter $8.20 |
Hex Buffer Questions

REG file parser using the Boost Spirit Parser Framework
Testimonials
I would like to thank the people who developed the following projects – they made the implementation of this project easier:
- Boost:
- Spirit Parser Framework
- Program options
- Pool library
- Testing Framework
- Other Utils: Bind, Function, Scope Exit, String Algorithms Library
I want to say a personal thank you to Silviu Simen for his article “INI file reader using the Spirit library”.
Background and history of this task
There was a project in which I took part and we needed to test the working of a parser for Windows hive Registry files. These files are stored in binary representation and the structure of such a file is not documented by Microsoft. But, by means of research, my colleagues managed to clear out this structure, and after that, the question of verifying the parser work appeared.
To perform testing, I decided to use the functionality of exporting of Registry in two formats: hive and reg. Thus, I could obtain two different files for the same Registry key and after that check the working of the Windows hive Registry file parser.
The structure of the Registry file – I’ll give an example below – is very similar to the structure of the ini file, so you can use standard Windows functions for reading values in this file. But the problem is that, functions work very slow for big files, and that is why this parser was developed – a parser for reg files where I use the Boost Spirit Parser Framework. The reasons why standard Windows functions are slow will be considered below in this article.
What is a reg file?
Let’s consider the general view of a reg file structure first, and some special complicated cases will be considered as necessary.
I’ve taken the following material from here http://en.wikipedia.org/wiki/Windows_Registry.
.REG files (also known as Registration entries) are text-based human-readable files for storing portions of the Registry. On Windows 2000 and later NT-based Operating Systems, they contain the string Windows Registry Editor Version 5.00 at the beginning and are Unicode-based. On Windows 9x and NT 4.0 systems, they contain the string REGEDIT4 and are ANSI-based. Windows 9x format .REG files are compatible with Windows 2000 and later NT-based systems. The Registry Editor on Windows on these systems also supports exporting .REG files in Windows 9x/NT format. Data is stored in .REG files in the following syntax:
[<Hive Name><Key Name><Subkey Name>]
“Value Name”=<Value type>:<Value data>
Example 1 (different types):
[HKEY_LOCAL_MACHINESOFTWAREMicrosoft]
“Value A”=”<String value data>”
“Value B”=hex:<Binary data>
“Value C”=dword:<DWORD value integer>
“Value D”=hex(7):<Multi-string value data>
“Value E”=hex(2):<Expandable string value data>
Example 2 (real):
[HKEY_CURRENT_USERKey]
“Value string”=”B”
“Value dword”=dword:00000001
“Value hard”=hex(1000800c):53,00,65,00,72,00,76,00,69,00,63,00,65,00,53,00,
74,00,61,00,72,00,74,00,54,00,79,00,70,00,65,00,00,00,4d,00,61,00,78,00,44
Making a little digression, I want to stress that the number in the line ” hex(1000800c) ” is the type identifier and it can be anything. It’s often used as the data in the security branch [HKEY_LOCAL_MACHINESAM].
And now, let’s try to extend the information about the possible contents of the reg file. Here, I represent some facts obtained during our research process:
1) Key Name may consist of alphabetical symbols and ” , , [ , ].
2) Number of values of one key can be from 0 to infinite
3) Value Name can be:
– symbol ‘@’ – it means default
– “text” – any symbols can be in this “text”
even these ones: n , ” , , [ , ]
but it always ends with “n symbols in sequence
4) Value data can be:
– “text” – any symbols can be in this “text”
but it always ends with ” and n in sequence
– binary:
– dword:XX
– hex:XX
– hex(N):XX
Comments:
XX can be the pairs of number symbols separated by comas and
it can end with ” symbol that means that
data continue in the next line
Example:
dword:72,…,00,
00,..,20
Two approaches and their comparison
As it was mentioned, the structures of reg files and ini files are quite the same, so I started to search for methods for working with ini files. I found the standard Windows functions.
Using the Windows API functions
Windows gives a lot of functions to work with INI files; we are interested in two of them for our task:
- GetPrivateProfileSectionNames<link>: Retrieves the names of all the sections in an initialization file.
- GetPrivateProfileSection<link>: Retrieves all the keys and values for the specified section of an initialization file.
So, we should call GetPrivateProfileSectionNames one time to obtain the list of keys and then call GetPrivateProfileSection to obtain the values inside the keys.
The problem is that if the file is quite big, i.e., there are a lot of keys in it, then we should call GetPrivateProfileSection several times to read from the file. Here is some row test data: file size: 30 MB, file includes about 30,000 keys, the parsing of this file takes about 20 minutes. And, I should say that reg files are often bigger than 100 MB.
So, the problem:
Unjustified number of readings from the file.
Solution:
It’s necessary to load the file to the memory at one time or in some parts and then parse its content using your own tools.
Using a custom parser
When parsing a reg file content using your our own tools, it’s good idea to use already developed work. Thus, I came across the article about the ini file reader using the Spirit library. Using the example of the ini file parser, I developed my reg file parser.
Why boost::spirit ?
The Spirit Parser Framework is an object oriented recursive descent parser generator framework implemented using template metaprogramming techniques. Expression templates allow users to approximate the syntax of Extended Backus Naur Form (EBNF) completely in C++.
I was also attracted by these factors:
- There are no intermediate conversions to some code needed, and also no external applications except for the compiler.
- You need to include only two header files and no libraries to use the Spirit Parser Framework.
Useful links:
Fleeting glance on boost::spirit
The main idea of using boost::spirit is in using the rules. Usually, several basic rules are defined, and then other rules are defined by means of overridden operators as a combinations of basic rules. The following example shows the creation of rules using “AND” and “NOT” operators:
RuleType simpleRule = ~ch_t(‘A’) & ~ch_t(‘B’);
This rule works for any symbol except for ‘A’ and ‘B’.
Below in this article, each rule will be described in detail, but now, I want to give some quick information about possible operators – to let you imagine what the possible operations with the rules are.
Set operators:
a | b Union Match a or b. Also referred to as alternative
a & b Intersection Match a and b
a – b Difference Match a but not b. If both match and b’s matched text
is shorter than a’s matched text, a successful
match is made
a ^ b XOR Match a or b, but not both
Sequencing Operators:
a >> b Sequence Match a and b in sequence
a && b Sequential-and Sequential-and. Same as above,
match a and b in sequence
a || b Sequential-or Match a or b in sequence
Optional and Loops:
*a – Match a zero (0) or more times
+a – Match a one (1) or more times
!a – Match a zero (0) or one (1) time
a % b – Match a list of one or more repetitions
of a separated by occurrences of b.
This is the same as a >> *(b >> a).
Note that a must not also match b
Single character parsers:
anychar_p Matches any single character
(including the null terminator: ‘