Untitled Document

현재 하고 있는 일들

Total 37 articles, 2 pages/ current page is 1


  View Articles
   What is TCL?
What is TCL?    ^^V

TCL 은 "tool command language (툴 커맨드 언어)" 의 약어로 tickle 로 발음한다. TCL 은 언어와 라이브러리 두 부분으로 나누어져 있다. 언어는 간단한 텍스트 언어로 대화식 프로그램에 명령을 내주도록 의도되었으며 기본적인 프로그래밍 능력을 포함하고 있으며 라이브버리는 애플리케이션 프로그램에 내장될 수 있다.

TCL WWW Info 웹 페이지와 같은 사이트에서 TCL 에 대한 더욱 자세한 정보를 얻을 수 있다. 아마 대부분의 관심사는 WebWiseTclTk 뿐만 아니라 Safe-TCL (TCL 에서 sandbox 를 생성한다) 과 Safe-TK (Safe-TCL 에 대해 sandboxed 된 이식가능한 GUI 를 구현한다) 툴킷이 TCL 패키지가 World Wide Web 어느곳에서나 자동적으로 위치해 적재될 수 있도록 한다는 것이다. http://www.cbl.ncsu.edu/software/WebWiseTclTk 에서 WebWiseTclTk 에 대한 더욱 자세한 정보를 찾을 수 있다. 그러나 이것이 얼마나 많은 코드 검토를 받았는지 저자에게는 명확하지 않은데 더욱 자세한 정보는 http://www.tclfaq.wservice.com/tcl-faq 에 있는 comp.lang.tcl FAQ 시작 페이지에서 얻을 수 있다. 그러나 TCL 을 작고 "단순한" 언어로 만들려고 한 바램이 오히려 제한된 언어를 초래했음을 언급하는 것은 가치가 있는데 Richard Stallman's ``Why You Should Not Use TCL'' 를 보라. 예를 들어 반드시 단 한가지 데이타 타입 (문자열) 만이 있다는 TCL 개념은 프로그램을 느리게 만들뿐 아니라 많은 프로그램의 작성을 어렵게 만들 수 있다. 또한 저자가 TCL 프로그램을 작성했을 때 악의있는 입력 문자열이 다루기 어렵고 예기치 않은 동작을 일으킬 수있는 TCL 프로그램을 우연히 작성하는 것이 쉬움을 발견했다. 예를 들어 공격자는 내장 스페이스, 이중 인용 부호, curly braces, dollar signs 또는 brackets 과 같이 TCL 에 특별한 의미를 갖는 문자를 TCL 에 보냄으로써 예기지 않은 일을 하게끔 (또는 이러한 문자들이 처리중에 생성되게끔 하는 입력을 생성하게끔) 할 수도 있다. 따라서 저자는 보안 목적을 위한 프로그램을 작성할 때 TCL 을 추천하지 않는다. 그렇게 하려면 특히 사용자 입력이 프로그램을 속일 수 없음을 보증하는데 주의해라. 다른 한편으로 저자는 TCL 프로그램이 모바일 코드를 구현하는 데 사용될 수 없는 어떠한 이유도 모른다. 저자보다 더욱 많은 사용을 옹호하는 TCL 지지자도 분명히 있으며 TCL 은 이미 만들어진 sandbox 구현을 갖고 있는 얼마 안되는 언어중의 하나이다.

Tcl (current release version 8.0.3) stands for ''tool command language'' and is pronounced ''tickle.'' The author's home ftp site for the Tcl source code is ftp://ftp.scriptics.com/pub/tcl/.
Tcl is actually two things: a language and a library. First, Tcl is a simple textual language, intended primarily for issuing commands to interactive programs such as text editors, debuggers, illustrators, and shells. It has a simple syntax and is also programmable, so Tcl users can write command procedures to provide more powerful commands than those in the built-in set.

Second, Tcl is a library package that can be embedded in application programs. The Tcl library consists of a parser for the Tcl language, routines to implement the Tcl built-in commands, and procedures that allow each application to extend Tcl with additional commands specific to that application. The application program generates Tcl commands and passes them to the Tcl parser for execution. Commands may be generated by reading characters from an input source, or by associating command strings with elements of the application's user interface, such as menu entries, buttons, or keystrokes. When the Tcl library receives commands it parses them into component fields and executes built-in commands directly. For commands implemented by the application, Tcl calls back to the application to execute the commands. In many cases commands will invoke recursive invocations of the Tcl interpreter by passing in additional strings to execute (procedures, looping commands, and conditional commands all work in this way).

An application program gains several advantages by using Tcl for its command language. First, Tcl provides a standard syntax: once users know Tcl, they will be able to issue commands easily to any Tcl-based application. Second, Tcl provides programmability. All a Tcl application needs to do is to implement a few application-specific low-level commands. Tcl provides many utility commands plus a general programming interface for building up complex command procedures. By using Tcl, applications need not re-implement these features. Third, extensions to Tcl, such as the Tk toolkit, provide mechanisms for communicating between applications by sending Tcl commands back and forth. The common Tcl language framework makes it easier for applications to communicate with one another.

Note that Tcl was designed with the philosophy that one should actually use two or more languages when designing large software systems. One for manipulating complex internal data structures, or where performance is key, and another, such as Tcl, for writing smallish scripts that tie together the other pieces, providing hooks for the user to extend. For the Tcl script writer, ease of learning, ease of programming and ease of gluing are more important than performance or facilities for complex data structures and algorithms. Tcl was designed to make it easy to drop into a lower language when you come across tasks that make more sense at a lower level. In this way,the basic core functionality can remain small and one need only bring along pieces that one particular wants or needs.

Tk (current release 8.0.3) is an extension to Tcl which provides the programmer with an interface to the X11 windowing system. Note that Tk has been successfully compiled under X11 R4, X11 R5, X11 R6, as well as Sun's NeWS/X11 environments.

The author's home ftp site for the Tk source is the directory ftp://ftp.scriptics.com/pub/tcl/.

Note that many users will encounter Tk via the ''wish'' command. Wish is a simple windowing shell which permits the user to write Tcl applications in a prototyping environment. Read http://www.scriptics.com/people/john.ousterhout/ and http://www.scriptics.com/(New Home Site) for details.

The future plans for Tcl can be found at http://www.scriptics.com/research/tcl/team.html as well as http://www.scriptics.com/.


Tcl is a popular scripting language that is similar to many shell scripting and high-level programming languages. Its syntax provides enough programmability to support control structures, variables, network socket access, and application programming interfaces (APIs) for integration.

Compared to languages like C++, Tcl is easy to learn and use. Tcl is an interpretive language so that development is easier and faster than with other languages. For example, when the desired functionality is not available, Tcl allows you to create your own commands or procedures. You can use Tcl for multi-platform programming because it works seamlessly across most development platforms, including UNIX and Windows NT.

Tcl scripts can be used with the Quartus II software to:

Add or remove compiler and simulator assignments
Create compiler and simulator settings files
Control the compiler
Control the simulator
Perform interactive simulations with the Quartus II Simulator
Control third-party synthesis, simulation, or revision control software



   PHENIX MUID Blue-Logic Trigger(BLT)

   C++ 친구 함수, 친구 클래스 ^^


Copyright 1999-2022 Zeroboard / skin by madpark