Go Back   Science Forums > Physical Sciences Forums > Computer Science and Technology
Reply
 
LinkBack Thread Tools
Old 04-24-2009   #21 (permalink)
alexander's Avatar
Dedicated Smart-ass

Senior Moderator
Gallery Curator
Dev Team Member

Location:
Just before 0xAA55
 
alexander has a reputation beyond reputealexander has a reputation beyond reputealexander has a reputation beyond reputealexander has a reputation beyond reputealexander has a reputation beyond reputealexander has a reputation beyond reputealexander has a reputation beyond reputealexander has a reputation beyond reputealexander has a reputation beyond reputealexander has a reputation beyond repute
Send a message via AIM to alexander
 



Not Ranked  0 score     
Re: Self-Referential Language?

you dont need to know assembly or c to write your language, you can write it in any language you want, generally if it's a compiled language then the compiler is written to smartly translate the language into assembly, and then it is assembled and compiled again into a binary for a particular operating system...

Also most interpreters, for the sheer need of speed of execution, are written in C (more oftenly C++), but as Buffy could tell you, you can write a C compiler in Lisp, nothing's stopping you. Mind you most C compilers are written in C ( yes, go figure that one ) also most (well i only know of one, and a shell) C interpreters are written in C.

Point being, no, you dont need to know a low level language to make your own programming language. Infact a well-defined language would tend to attract programmers that will code it in a low-level language for you. There are a few books available on language design

David A. Watt - "Programming Language Design Concepts"
Raphael Finkel - "Advanced Programming Language Design"
Terrence W. Pratt and Marvin V. Zelkowitz - "Programming Languages: Design and Implementation"
Bruce J. MacLennan - "Principles of Programming Languages"

At least a couple of those above should be augmented with "Programming Language Pragmatics Second Edition" by Michael L. Scott

Also these three books in succession (they get progressively more hardcore, and they all talk about modern compiler techniques, loop optimization, SSA, all kinds of good stuff):
Kenneth C. Louden - "Compiler Construction: Principles and Practice" - (this is more of a course book for students)
Andrew W. Appel - "Modern Compiler Implementation in C" - (this is a book that those students read to ace the course and familiarize themselves with up-to-date practices)
Steven Muchnick - "Advanced Compiler Design and Implementation" - (this is the book for the students that can teach the course and have the professor learn things he's probably never heard before)

But also remember, if you go with my advise and get 5 books (one out of the first set, the pragmatics book and the last 3 on compiler design) its nearly a 500 dollar bill, books on advanced topics are not cheap... But my point is, programming language design is above the range of a tutorial, a good programming language takes knowledge and practice, psychology and imagination, a good knowledge of current languages, but not a drive to compete with any of them. Only then can you desing a language that stands out on its own...


----------------
Microsoft, the leader in using innovative tactics to promote irksome experience, coupled with antiquated technology that's held together by a pyramid of makeshift afterthoughts.

Apple, the leader in using irksome tactics to promote innovative experience, coupled with an antiquated core that's enhanced by state-of-the-art afterthoughts.

Linux, the leader in not using any tactics to promote user-defined experience, coupled with state-of-the-art core enhanced by innovative afterthoughts.


Last edited by alexander; 04-24-2009 at 06:13 AM..
Reply With Quote
Old 04-24-2009   #22 (permalink)
alexander's Avatar
Dedicated Smart-ass

Senior Moderator
Gallery Curator
Dev Team Member

Location:
Just before 0xAA55
 
alexander has a reputation beyond reputealexander has a reputation beyond reputealexander has a reputation beyond reputealexander has a reputation beyond reputealexander has a reputation beyond reputealexander has a reputation beyond reputealexander has a reputation beyond reputealexander has a reputation beyond reputealexander has a reputation beyond reputealexander has a reputation beyond repute
Send a message via AIM to alexander
 



Not Ranked  0 score     
Re: Self-Referential Language?

Also remember that most of the greatest programming languages were written for the designer and his friends, most bad languages were also written for that purpose, the best language IMHO, Python, was written with a specific mission in mind, but there are plenty of really bad languages out there that were written for that purpose too, so design it to use for yourself and your friends with a mission, hopefully you'll do better then the thousands of horrible, failed languages out there


----------------
Microsoft, the leader in using innovative tactics to promote irksome experience, coupled with antiquated technology that's held together by a pyramid of makeshift afterthoughts.

Apple, the leader in using irksome tactics to promote innovative experience, coupled with an antiquated core that's enhanced by state-of-the-art afterthoughts.

Linux, the leader in not using any tactics to promote user-defined experience, coupled with state-of-the-art core enhanced by innovative afterthoughts.

Reply With Quote
Old 04-24-2009   #23 (permalink)
Pyrotex's Avatar
Slaying Bad Memes

Moderator
Editor

Location:
Houston, Texas
Latest blog entry:
 
Pyrotex has a reputation beyond reputePyrotex has a reputation beyond reputePyrotex has a reputation beyond reputePyrotex has a reputation beyond reputePyrotex has a reputation beyond reputePyrotex has a reputation beyond reputePyrotex has a reputation beyond reputePyrotex has a reputation beyond reputePyrotex has a reputation beyond reputePyrotex has a reputation beyond reputePyrotex has a reputation beyond repute
Send a message via MSN to Pyrotex
 



Not Ranked  0 score     
Re: Self-Referential Language?

Yes, that was it: BNF. Backus Naur Format. Thanks Craig.

KAC: The logical start IMHO would be defining the starting point BNF in XML, then writing an Interpreter in Python that used the BNF explicitly as the definition of the language itself. Now, for the starter language, I would begin with a simple subset of Python!!! I would only add one teensy feature to this subset of Python, something like a keyword, say "BNF(n,m)", where n is the nth statement in your BNF, and m is the mth option in that statement. (The options are the text between the vertical bars |.) The type of BNF(n,m) would be a string, of course.


----------------
Hypography Forums Moderator
-- - - - - -
What concerns me is not the way things are, but rather the way people think things are.
Epictetus, Greek Philosopher
The map is NOT the territory.
Korzybski, Polish-American Philosopher
Reply With Quote
Old 04-24-2009   #24 (permalink)
TheFaithfulStone's Avatar
Rockin'


 



Not Ranked  0 score     
Re: Self-Referential Language?

Quote:
Originally Posted by KAC
Also, Does anyone have links to resources related to writing languages? Tutorials, examples, compiler/interpreter/profiler examinations, and the likes? Do I need to learn assembly and/or C to write my own language?
Not at all. I've written several DSLs in Python using ANTLR as a parser generator.

It's not really what I'd call fun but it's not too bad.

I also wrote one in Perl and generated the tokenizer and parser by hand - and THAT was my own special version of hell.

tfs


----------------
There are no stupid questions, but there are a LOT of inquisitive idiots.
Reply With Quote
Old 04-24-2009   #25 (permalink)
alexander's Avatar
Dedicated Smart-ass

Senior Moderator
Gallery Curator
Dev Team Member

Location:
Just before 0xAA55
 
alexander has a reputation beyond reputealexander has a reputation beyond reputealexander has a reputation beyond reputealexander has a reputation beyond reputealexander has a reputation beyond reputealexander has a reputation beyond reputealexander has a reputation beyond reputealexander has a reputation beyond reputealexander has a reputation beyond reputealexander has a reputation beyond repute
Send a message via AIM to alexander
 



Not Ranked  0 score     
Re: Self-Referential Language?

perl is the perfect langauge for writing a parser actually, cuz the one thing it does really well is work with text


----------------
Microsoft, the leader in using innovative tactics to promote irksome experience, coupled with antiquated technology that's held together by a pyramid of makeshift afterthoughts.

Apple, the leader in using irksome tactics to promote innovative experience, coupled with an antiquated core that's enhanced by state-of-the-art afterthoughts.

Linux, the leader in not using any tactics to promote user-defined experience, coupled with state-of-the-art core enhanced by innovative afterthoughts.

Reply With Quote
Old 04-25-2009   #26 (permalink)
KickAssClown's Avatar
A Person


Location:
Here and now
 
KickAssClown is a name known to allKickAssClown is a name known to allKickAssClown is a name known to allKickAssClown is a name known to allKickAssClown is a name known to all
Send a message via MSN to KickAssClown Send a message via Yahoo to KickAssClown
 



Not Ranked  0 score     
Re: Self-Referential Language?

It seems I maybe moving onto learning a new notation set, vW-Grammar.

Alright, I've determined that I we need to discuss Abstract Syntax (AST), and Parsing Trees. Also, I feel we might need to discuss abstract semantic graphs. I'm aware that these structures can be utilized to facilitate reflection within a language, but I'm unaware of how one would do that.

Does Java use it's AST to provided reflective capabilities?


----------------
There are no truths in science, only the falsifiable hypotheses and explanations of the people who test them.

Hyper Physics
Hyper Math
Wikipedia

Last edited by KickAssClown; 05-04-2009 at 09:28 PM.. Reason: Expanding post and relating to the topic.
Reply With Quote
Old 05-19-2009   #27 (permalink)
KickAssClown's Avatar
A Person


Location:
Here and now
 
KickAssClown is a name known to allKickAssClown is a name known to allKickAssClown is a name known to allKickAssClown is a name known to allKickAssClown is a name known to all
Send a message via MSN to KickAssClown Send a message via Yahoo to KickAssClown
 



Not Ranked  0 score     
Re: Self-Referential Language?

Alright, so I've been spending a lot of time lurking around the Semantic Web Interest Group Channel on the Freenode IRC network. We've been talking about defining an ontology for describing programming languages in a data-language format. one of the people there, Toby Inkster, has gone and started an implementation which is available.
core terms
one particular view of how programming languages relate together
one particular view of how data languaes fit together.

This schema is purposed for use as the declarative portion of a Language of Languages.

The basic idea which we arrived on is that language is practically impossible to define manually, but we have various implemented languages that we can parse programmatically to build towards an implicit definition of language.

We arrived at this conclusion based on the fact that a full vW-grammar is Turing complete and therefore undecidable as a metalanguage. It will result in an infinite number of languages. If a universal language exists, it would have to express the set of all expressible languages, so any language known of would likely be a subset of a Language of Languages.

enjoy the links,
Ian Mclean


----------------
There are no truths in science, only the falsifiable hypotheses and explanations of the people who test them.

Hyper Physics
Hyper Math
Wikipedia
Reply With Quote
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
choice with language Help! CHADS Computer Science and Technology 27 05-19-2008 06:27 AM
Next Big Language alexander Computer Science and Technology 3 07-16-2006 05:05 PM
Language Forum, do you want it? sanctus Suggestions and Wish List 15 07-20-2005 07:42 AM
language system?! Tim_Lou Philosophy Forums 96 01-13-2005 04:16 PM

» Advertisement
» Current Poll
Who's the sexiest man alive? Johnny Depp or Robert Pattinson?
Johnny Depp - 30.00%
3 Votes
Robert Pattinson - 0%
0 Votes
Someone else (please specify) - 40.00%
4 Votes
I'm too macho to think a guy is sexy - 30.00%
3 Votes
Total Votes: 10
You may not vote on this poll.


All times are GMT -8. The time now is 11:16 PM.

Hypography?

Hypography [n.]: A combination of "hyperlink" and "bibliography" - ie, a list of links to electronic documents. Comparable to discography and bibliography, but not cartography.

We have been online since May 2000, and aim to be the best place to find and share science-related content of all kinds.

Share the love!

Please add more science to your life. Use our RSS feeds on your blog, your portal, or your favorite feedreader!


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.3.2
Copyright © 2000-2009 Hypography
Part of the Hypography - Science for Everyone Network