Find compiler Pascal open source

Posted on 2005-05-13
Last Modified: 2010-08-05
I want to find doc about how to developing Pascal language (compiler)
Who can help me ??
Question by:sonbinary
    LVL 7

    Accepted Solution

    Have you tryed Lex and Yacc?

    Does not generate EXE code, but works (compiles, don't link, but runs like VB, emulating)

    Supports an array of languages. You can add more functions (I mean structures) to the language if you give yourselfe a time using the lexical grammar.

    Works on many platforms.

    A good reference is:

    LVL 5

    Assisted Solution

    Go to the Free Pascal Home Page:
    You can get information there and make free download. Following operating systems are supported: Linux, FreeBSD, NetBSD, Mac OS X/Darwin, Mac OS classic, DOS, Win32, OS/2, BeOS, SunOS (Solaris), Netware (libc and classic), QNX and Classic Amiga.

    Checkout also the Free Pascal Webring:

    More compilers and information about them you can find at:

    LVL 20

    Assisted Solution

    Here are some  page references to many open source pascal compilers, ides, interpreters, etc.

    LVL 55

    Assisted Solution

    by:Jaime Olivares
    You can download Borland Turbo Pascal for DOS from the Borland's Museum:,1410,20803,00.html

    Author Comment

    you know...I developing a smal compiler for pascal language and I have some problem with "record type", I don't know how to define it
    I had syntax for some token like begin end,,....
    I want to define syntax for record type, to do that??
    Main->Program Id Semi

    Dec->Var Id_list Colon Type Semi

    Id_list-> Id_list Comma Id|Id

    Type->Simple|Id|Array Osqua Simple Csqua Of Type

    Simple->Integer|Float|Num1 Dotdot Num1

    Body->Begin Stmt_list End Dot

    Stmt_list->Stmt_list  Stmt| Є

    Stmt->(CaseStmt|AssignStmt|Exp) Semi

    CaseStmt->Case Id Of BodyCase_list End

    BodyCase_list->BodyCase_list BodyCase|BodyCase

    BodyCase-> Num1 Colon Stmt_list

    AssignStmt-> Id Set Exp

    Exp-> Exp Op1 Term|Term

    Term-> Term Op2 Factor|Factor Op3 Term|Factor

    Factor->Id|Num1|Num2| Openbracket Exp Closebracket
    LVL 12

    Assisted Solution

    What a pitty - it seems that I lost my copy of Niklaus Wirth's compiler construction book. I think he explains the syntax quite well there.

    Too bad. Here's a suggestion:

    Type -> Simple|Id|Array Osqua Simple CSqua of Type|RecordType

    RecordType -> "Record" DecList "End Record" Semi

    DecList -> Dec [DecList]

    Is it that what you need?

    LVL 12

    Expert Comment

    I _think_ I've answered the Q...

    Featured Post

    How your wiki can always stay up-to-date

    Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
    - Increase transparency
    - Onboard new hires faster
    - Access from mobile/offline

    Join & Write a Comment

    Does the idea of dealing with bits scare or confuse you? Does it seem like a waste of time in an age where we all have terabytes of storage? If so, you're missing out on one of the core tools in every professional programmer's toolbox. Learn how to …
    Displaying an arrayList in a listView using the default adapter is rarely the best solution. To get full control of your display data, and to be able to refresh it after editing, requires the use of a custom adapter.
    In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…
    In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …

    754 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    24 Experts available now in Live!

    Get 1:1 Help Now