Content deleted Content added
m v2.05b - Bot T12 CW#548 - Fix errors for CW project (Punctuation in link - Link equal to linktext) |
No edit summary Tags: Mobile edit Mobile web edit Advanced mobile edit |
||
(7 intermediate revisions by 5 users not shown) | |||
Line 1:
{{Infobox software
| name = CH C/C++ interpreter
Line 25 ⟶ 20:
}}
'''CH''' {{IPAc-en|ˌ|s|iː|ˈ|eɪ|tʃ}} is a proprietary [[cross-platform]] [[C (programming language)|C]] and [[C++]] [[Interpreter (computing)|interpreter]] and [[scripting language environment]]. It was
CH can be embedded in C and C++ application programs. It has [[numerical computing]] and graphical plotting features. CH is combined of both '''shell and IDE'''.<ref>{{cite journal |last= Veeraraghavan |first= Sriranga |year= 2013 |title= An introduction to Ch: Implementing a temperature converter in Ch |url= http://www.techworld.com.au/article/452524/an_introduction_ch_implementing_temperature_converter_ch/ |publisher= ComputerWorld}}</ref> CH shell combines the features of common shell and C language.<ref>[http://www.softintegration.com/docs/ch/shell/ Ch Shell]</ref> ChIDE provides quick code navigation and symbolic debugging.
CH is written in C and runs on [[Microsoft Windows|Windows]], [[Linux]], [[macOS]], [[FreeBSD]], [[IBM AIX|AIX]], [[Solaris (operating system)|Solaris]], [[QNX]], and [[HP-UX]]. It supports [[C90 (C version)|C90]] and major [[C99]] features, but it does not support the full set of C++ features. C99 complex number, [[IEEE
CH has many tool kits that extend its functions. For example, the CH Mechanism Toolkit is used for design and analysis of commonly used mechanisms such as [[four-bar linkage]], [[five-bar linkage]], [[six-bar linkage]], crank-slider mechanism, and cam-follower system.<ref>{{cite journal |last= Cheng |first= Harry |year= 2006 |title= Object-Oriented Interactive Mechanism Design and Analysis |journal= Engineering with Computers |volume= 21 |issue= 3 |pages= 237–246 |doi= 10.1007/s00366-005-0008-4 |s2cid= 16996625 }}</ref> CH Control System Toolkit is used for the design, analysis, and
CH has been integrated into [[free C-STEM Studio,]] a platform for learning computing, science, technology, engineering, and mathematics (C-STEM) with robotics. C-STEM Studio is developed by the UC Davis Center for Integrated Computing and STEM Education, offering a curriculum for K-12 students.
CH supports [[Lego Mindstorms NXT|LEGO Mindstorms NXT]] and [[Lego Mindstorms EV3|EV3]], [[Arduino]], Linkbot, Finch Robot, RoboTalk and Raspberry Pi, Pi Zero, and ARM for robot programming and learning.<ref>
Line 40 ⟶ 35:
== Features ==
CH supports the 1999 ISO C Standard (C99) and C++ classes. It is a superset of C with C++ classes. Several major features of C99 are supported, such as complex numbers, [[Variable-length array|variable length arrays]] (VLAs), IEEE
C++ features available in CH include:
* [[Member function
* Mixed code and declaration
* The ''[[this (computer programming)|this]]'' -> pointer
Line 55 ⟶ 50:
* The new and delete operators
* Constructors and destructors
* [[Polymorphic function
* The [[scope resolution operator]]
* The I/O functions cout, cerr, and cin with endl
Line 63 ⟶ 58:
* Classes inside member functions
* [[Nested function
* Passing member function to argument of pointer-to-function type of functions
Line 69 ⟶ 64:
As a C/C++ interpreter, CH can be used as a scripting engine and extension language for applications. Pointers to arrays or variables can be passed and shared in both C-compiled and CH scripting contexts. One example of an embedded CH scripting application is Mobile-C, which has been used for collaborative visualization of distributed mesh model.<ref>{{cite magazine |last= Cheng |first= Harry |year= 2009 |title= Speeding-Up Software Development Using Embedded Scripting |pages= 8 |url= http://drdobbs.com/architecture-and-design/212201774 |magazine= Dr. Dobb's Journal}}</ref><ref>{{cite book |last1=Wang |first1=Li-rong |title=2009 IEEE 10th International Conference on Computer-Aided Industrial Design & Conceptual Design |pages=1127–1132 |last2= Bo |first2= Yo|last3=Hagiwara |first3= I |publisher= Computer-Aided Industrial Design & Conceptual Design, 2009. CAID & CD 2009. IEEE 10th International Conference|doi=10.1109/CAIDCD.2009.5375178 |year=2009 |isbn=978-1-4244-5266-8 |s2cid=39307433 }}</ref><ref>{{cite book |last1=Wang |first1=Li-rong |last2= Bo |first2= Yo|last3=Hagiwara |first3= Ichiro |title= An agent based collaborative simplification of 3D mesh model |pages=325–328 |url= http://dl.acm.org/citation.cfm?id=1813032 |year=2009 |publisher= CDVE'09 Proceedings of the 6th international conference on cooperative design, visualization, and engineering|isbn=9783642042645 |series=Cdve'09 }}</ref>
CH has a built-in [[string type]] (string_t) for automatic memory allocation and de-allocation. It supports shell aliases, history, and piping.<ref>{{cite journal |last= Campbell |first= Matt |year= 2003 |title= Ch, A C/C++ Interpreter – New possibilities for people who like C and Unix |url= http://www.mactech.com/articles/mactech/Vol.19/19.09/CInterpreter/index.html |publisher= MACTECH, the journal of Apple technology}}</ref><ref>{{cite book|last=Cheng|first=Harry|title=The Ch Language Environment|edition=6.3|year=2010|publisher= SoftIntegration
CH has built-in 2D/3D graphical plotting features and computational [[array data type|arrays]] for numerical computing. A 2D [[linear equation]] of the form ''b = A*x'' can be written verbatim in Ch.<ref>{{cite journal |last= Glassborow |first= Francis |year= 2001 |title= The Ch Language Environment Version 2.0 |url= http://www.softintegration.com/company/pub/accu.html |pages= 36–37 |publisher= C Vu Magazine}}</ref>
|