Skip to topic | Skip to bottom
Home
Main
Main.ProgrammingFundamentalsr1.4 - 27 Sep 2007 - 16:13 - Main.novatopic end

Start of topic | Skip to actions

Programming Languages

Virtual machines

  • The concept of a virtual machine
  • Hierarchy of virtual machines
  • Intermediate languages

Formal Definitions

Theory

Language Classifications

  • Procedural
  • Functional languages
    • Applicative
    • Single Assignment
  • Object-oriented languages
  • Logic
    • Declarative
    • Constraint logic languages
  • Imperative
  • Event-Driven
  • Data flow languages
  • Concurrent Languages
  • Very high level languages (aka Fourth Generation Languages)
  • Query Languages
  • Assembly Languages
  • Design languages
  • Extensible languages
  • Microprogramming languages
  • Multiparadigm languages
  • Nondeterministic languages
  • Specialized application languages
  • Intermediate Languages
  • Metalanguage
  • Markup languages
  • Scripting languages
  • Modeling, specification languages (synonyms)

Language Constructs and Features

  • Pointer to Programming Fundamentals

Language Translation and Execution

  • Interpreters
  • Compilers
  • Debuggers
  • Language translation phases
    • lexical analysis
    • parsing
    • code generation
    • optimization
  • Computer architecture-specific translation requirements
    • Addressing modes
    • Instruction set
    • Instruction format
    • paralellism
  • Computer architecture-independent translation elements
    • Regular expressions in lexical scanners
    • Parsing (concrete and abstract syntax, abstract syntax trees)
    • Context-free grammars in table-driven and recursive-descent parsing
    • Symbol table management
    • Code generation by tree walking
    • Optimization techniques
  • Tools for the translation process
    • lexer (lexical analysis tool)
    • parser
  • Separate (modular) compilation
    • Program libraries
    • Linking
  • Retargetable compilers
  • Translator writing systems compiler generators
  • Run time environments

PL design and implementation

  • Language design
    • General principles of language design
    • Design goals
    • Constraints
    • Programming language syntax
  • Language features: implementation issues
    • Typing regimes
    • Data structure models
    • Name scopes
    • Declarations
      • binding
      • visibility
      • scope
      • lifetime
    • Instruction and control flow
    • Fuctions, procedures, and subroutines
      • Parameters
      • Run time memory management
        • Static and dynamic storage management
        • Activation records
        • Garbage collection
        • Stack
        • Heap
    • Coroutines
    • Data abstraction and object orientation
    • Input output
    • Exception handling
    • Concurrent programming structures
      • Threads
    • Modules packages
  • Frameworks

Programming language semantics

  • Informal semantics
  • Formal semantics
    • Denotational semantics
    • Axiomatic semantics
    • Operational semantics

to top

You are here: Main > VillanovaWikiPages > OntologyProject > ProgrammingFundamentals

to top

Copyright © 1999-2008 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback