Edison Design Group

Last updated
Edison Design Group
TypePrivate
IndustrySoftware
Founded1988 [1]
Headquarters Scotch Plains, New Jersey
Key people
J. Stephen Adamczyk
John Spicer
Daveed Vandevoorde
ProductsCompiler front ends
Number of employees
6
Website www.edg.com

The Edison Design Group (EDG) is a company that makes compiler front ends (preprocessing and parsing) for C++ and formerly Java and Fortran. [2] [3] Their front ends are widely used in commercially available compilers and code analysis tools. Users include the Intel C++ compiler, [4] Microsoft Visual C++ (IntelliSense), NVIDIA CUDA Compiler, SGI MIPSpro, The Portland Group, and Comeau C++. [5] They are widely known for having the first, and likely only, front end to implement the now-deprecated [6] export keyword of C++. [7] [8] [9] [10]

Contents

EDG was founded in 1988 in New Jersey by J. Stephen "Steve" Adamczyk, a 1974 B.S. graduate of the Massachusetts Institute of Technology, a 1977 M.S. graduate of the Indiana University Bloomington, and an experienced compiler engineer who had worked for Advanced Computer Techniques in New York City. [1] [11]

Other employees include John Spicer and Daveed Vandevoorde.

See also

Related Research Articles

Templates are a feature of the C++ programming language that allows functions and classes to operate with generic types. This allows a function or class to work on many different data types without being rewritten for each one.

C++ General-purpose programming language

C++ is a general-purpose programming language created by Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significantly over time, and modern C++ now has object-oriented, generic, and functional features in addition to facilities for low-level memory manipulation. It is almost always implemented as a compiled language, and many vendors provide C++ compilers, including the Free Software Foundation, LLVM, Microsoft, Intel, Oracle, and IBM, so it is available on many platforms.

IA-64 Instruction set architecture of the Itanium family of 64-bit Intel microprocessors

IA-64 is the instruction set architecture (ISA) of the Itanium family of 64-bit Intel microprocessors. The basic ISA specification originated at Hewlett-Packard (HP), and was evolved and then implemented in a new processor microarchitecture by Intel with HP's continued partnership and expertise on the underlying EPIC design concepts. In order to establish what was their first new ISA in 20 years and bring an entirely new product line to market, Intel made a massive investment in product definition, design, software development tools, OS, software industry partnerships, and marketing. To support this effort Intel created the largest design team in their history and a new marketing and industry enabling team completely separate from x86. The first Itanium processor, codenamed Merced, was released in 2001.

The Standard Template Library (STL) is a software library for the C++ programming language that influenced many parts of the C++ Standard Library. It provides four components called algorithms, containers, functions, and iterators.

Modula-3

Modula-3 is a programming language conceived as a successor to an upgraded version of Modula-2 known as Modula-2+. While it has been influential in research circles it has not been adopted widely in industry. It was designed by Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan, Bill Kalsow and Greg Nelson at the Digital Equipment Corporation (DEC) Systems Research Center (SRC) and the Olivetti Research Center (ORC) in the late 1980s.

Cilk, Cilk++ and Cilk Plus are general-purpose programming languages designed for multithreaded parallel computing. They are based on the C and C++ programming languages, which they extend with constructs to express parallel loops and the fork–join idiom.

Thread-local storage (TLS) is a computer programming method that uses static or global memory local to a thread.

C Sharp (programming language) Multi-paradigm (object-oriented) programming language

C# is a general-purpose, multi-paradigm programming language encompassing static typing, strong typing, lexically scoped, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming disciplines.

In computer programming and computer science, "maximal munch" or "longest match" is the principle that when creating some construct, as much of the available input as possible should be consumed.

C++11 is a version of the standard for the programming language C++. It was approved by International Organization for Standardization (ISO) on 12 August 2011, replacing C++03, superseded by C++14 on 18 August 2014 and later, by C++17. The name follows the tradition of naming language versions by the publication year of the specification, though it was formerly named C++0x because it was expected to be published before 2010.

Compile-time function execution is the ability of a compiler, that would normally compile a function to machine code and execute it at run time, to execute the function at compile time. This is possible if the arguments to the function are known at compile time, and the function does not make any reference to or attempt to modify any global state.

Comeau C/C++ is a compiler for C and C++ produced by Comeau Computing.

Ikarus (Scheme implementation)

Ikarus Scheme is a free software optimizing incremental compiler for R6RS Scheme that compiles directly to the x86 IA-32 architecture. Ikarus is the first public implementation of a large part of the R6RS Scheme standard. Version 0.0.3 has 94% of the total R6RS forms and procedures. Development stopped in 2008.

The ROSE compiler framework, developed at Lawrence Livermore National Laboratory (LLNL), is an open-source software compiler infrastructure to generate source-to-source analyzers and translators for multiple source languages including C, C++, Fortran, OpenMP, Java, Python, and PHP.

In the C++ programming language, decltype is a keyword used to query the type of an expression. Introduced in C++11, its primary intended use is in generic programming, where it is often difficult, or even impossible, to express types that depend on template parameters.

Rust (programming language) Memory-safe programming language without garbage collection

Rust is a multi-paradigm programming language designed for performance and safety, especially safe concurrency. Rust is syntactically similar to C++, but can guarantee memory safety by using a borrow checker to validate references. Rust achieves memory safety without garbage collection, and reference counting is optional.

The following outline is provided as an overview of and topical guide to C++:

Intel Edison

The Intel Edison is a computer-on-module that was offered by Intel as a development system for wearable devices and Internet of Things devices. The system was initially announced to be the same size and shape as an SD card and containing a dual-core Intel Quark x86 CPU at 400 MHz communicating via Bluetooth and Wi-Fi. A later announcement changed the CPU to a 500 MHz Silvermont dual-core Intel Atom CPU, and in September 2014 a second version of Edison was shown at IDF, which was bigger and thicker than a standard SD card.

C++20 is the name for the revision of the ISO/IEC standard for the C++ programming language following C++17. The standard was technically finalized by WG21 at the meeting in Prague in February 2020, approved on 4th September 2020, and published by ISO in December 2020.

References

  1. 1 2 "Company Background". Edison Design Group. Archived from the original on 2017-09-06. Retrieved 2018-03-11.
  2. D. Ryan Stephens (2005). C++ cookbook. O'Reilly Media, Inc. p. 7. ISBN   978-0-596-00761-4 . Retrieved 21 December 2010.
  3. Briand, Marc (1 December 2007). "Editor's Forum". Dr. Dobb's Journal . Retrieved 21 December 2010.
  4. "General compatibility of the Intel C++ Compiler for Windows". Software.intel.com. Archived from the original on 2012-02-07. Retrieved 2012-05-04.
  5. "Frequently Asked Questions: Who are your customers?". Edison Design Group. Archived from the original on 2017-08-27. Retrieved 2018-03-11.
  6. "Using export keyword with templates" . Retrieved 2018-03-11.
  7. "Why We Can't Afford Export" (PDF). (266 KB)
  8. David Vandevoorde; Nicolai M. Josuttis (2003). C++ templates: the complete guide. Addison-Wesley. p. 70. ISBN   978-0-201-73484-3 . Retrieved 21 December 2010.
  9. Daveed Vandevoorde (10 January 2002). "Implementability of export" comp.std.c++.
  10. Daveed Vandevoorde (28 February 2002). "The export keyword". comp.lang.c++.moderated.
  11. Paula Span (27 February 1994). "The On-line Mystique". Washington Post . p. w.11. Retrieved 21 December 2010.

Further reading