 |
 |
 |
 |
| Programming & Packaging A place to discuss programming and packaging. |

15th October 2007, 11:36 AM
|
|
Registered User
|
|
Join Date: Sep 2006
Posts: 988

|
|
|
Programming language development
Hi,
There are many programming languages out there today and I wonder as to what is required to put together a fully working programming language? If compared to a human body it has a heart, brain and a range of organs to make it functional. What does a programming language need in this regard? All is know is a compiler then IDE etc. Can any one please shed some light on the area?
Thanks.
Last edited by tech291083; 27th November 2008 at 05:22 AM.
|

15th October 2007, 12:35 PM
|
 |
Registered User
|
|
Join Date: May 2006
Posts: 333

|
|
|
Design a language, then programme its compiler. There are excellent tools nowadays that will automate much of the compiling of the compiler for you once you have given that tool the CFG (context-free grammar) of the language you have designed.
Writing a meaningful programming language is possible only if one has acquired the necessary theoretical background. If you have not already done so, study the theory of computation, algorithms, etc., before embarking on an ambitious project.
But if you are just thinking of building a toy compiler--kind of like a "hello world" problem in compiler theory--you should be able to do it without too much of a hassle.
__________________
Registered user # 441814
|

15th October 2007, 04:35 PM
|
|
Registered User
|
|
Join Date: Aug 2004
Posts: 3,855

|
|
|
If you name a particular language then you can get better advice on what is needed to use it.
As a generality, to use a language you need a compiler or an interpreter. For a language like Java, people use both a compiler (to compile human readable code to "bytecode") and an itnerpreter (the Java Runtime Environment) to run the bytecode. It is possible to use languages without an "IDE", but you must learn how to do many tasks using the command line and a text editor if you don't use an IDE.
People who need quick reinforcement when they learn ( proceeding from one small success to another) will probably do better if they use an IDE. But they must be careful to obtain documentation written for the particular version of the IDE they are trying to use, not some out-of-date version. People who like to know all the nuts and bolts of things and can tolerate a period of failure before their successes can do fine without an IDE. As to how you work once you are an expert, I suppose it doesn't matter.
__________________
"Never let the task you are trying to accomplish distract you from the study of computers."
|

15th October 2007, 05:03 PM
|
 |
Registered User
|
|
Join Date: May 2006
Posts: 333

|
|
|
Wow. I think I totally misunderstood the question. I thought he was asking what is required to write a whole new programming language.
__________________
Registered user # 441814
|

15th October 2007, 05:09 PM
|
|
Registered User
|
|
Join Date: Aug 2004
Posts: 3,855

|
|
|
Reisswolf,
You might have right interpretation of the question. I can read the question your way, also.
__________________
"Never let the task you are trying to accomplish distract you from the study of computers."
|

16th October 2007, 03:03 AM
|
 |
Registered User
|
|
Join Date: Sep 2004
Location: Odense, Denmark
Age: 31
Posts: 580

|
|
|
I read the same way Reisswolf and can, if I really but an effort into it, read the same way tashirosgt does... but let the asker (tech291083) answer that question.
|

20th October 2007, 09:59 AM
|
|
Registered User
|
|
Join Date: Sep 2006
Posts: 988

|
|
Quote:
|
Originally Posted by tashirosgt
If you name a particular language then you can get better advice on what is needed to use it................................ I suppose it doesn't matter.
|
Great stuff thanks
|

27th November 2008, 05:27 AM
|
|
Registered User
|
|
Join Date: Sep 2006
Posts: 988

|
|
Thanks a lot guys, but I just want to know the different components are how they work when they are put together to create a whole called the compiler or silimar. Here this page has some info about compilers and there are some terms mentioned such as Lexical Analysis, Syntax Analysis etc. So please help me understand the whole idea with your experience in simple terms. Thanks a lot again to all of you here.
http://en.wikipedia.org/wiki/Compiler
|

30th November 2008, 09:33 AM
|
 |
Registered User
|
|
Join Date: Apr 2006
Location: Ohio, USA
Posts: 8,300

|
|
|
That wiki pages explains it as well or better than you should expect here.
Lexical analysis is breaking the source code characters into tokens.
Syntactic analysis examines the sequence of tokens and verifies this is legal.
Semantic analysis applies the meaning imputed by the language definition to the sequence of tokens.
Code generation creates target machine code corresponding to the semantics.
These are MANY possible implementations, optimizations, representations. The phases mentioned above are just a conceptual model ((like the ISO network model)) --- these phases can be mixed together in various ways.
|

19th February 2009, 07:21 AM
|
|
Registered User
|
|
Join Date: Sep 2006
Posts: 988

|
|
|
Thanks a lot Stevea, you are right, I am also thinking of buying a book on the subject it is called 'Compilers: Principles, tools and techniques' by Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman, as recommended by a friend, let us see how far my mind can go into the pages. Thanks a lot.....
|
| Thread Tools |
Search this Thread |
|
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
Current GMT-time: 15:35 (Monday, 20-05-2013)
|
|
 |
 |
 |
 |
|
|