Skip to topic | Skip to bottom
Home
Main
Main.ProgrammingLanguagesr1.1 - 31 Aug 2006 - 20:56 - 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

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

Programming language semantics

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

-- Main.nova - 31 Aug 2006
to top


You are here: Main > VillanovaWikiPages > OntologyProject > ProgrammingLanguages

to top

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