Welcome to the Bartels Group of Companies
Was ist Bartels User Language? - Deutsche Version What is Bartels User Language? - English Version

Bartels System GmbH
Bartels AutoEngineer
BAE Product Info
BAE Price List
BAE Downloads
BAE Documentation
BAE Installation Guide
BAE User Manual
BAE Libraries
User Language Programmer's Guide
1 Introduction
1.1 What is Bartels User Language?
1.1.1 Purpose
1.1.2 Components
1.2 Characteristics of the Bartels User Language
2 Language Description
3 Programming System
4 BAE User Language Programs
A Conventions and Definitions
B Index Variable Types
C System Functions
BAE Update History
BAE Next Version Release Notes Preliminary
BAE V8.0 Release Notes
BAE V7.8 Release Notes
BAE V7.6 Release Notes
BAE V7.4 Release Notes
BAE V7.2 Release Notes
BAE V7.0 Release Notes
BAE V6.8 Release Notes
BAE V6.6 Release Notes
BAE V6.4 Release Notes
BAE V6.2 Release Notes
BAE V6.0 Release Notes
BAE V5.4 Release Notes
BAE V5.0 Release Notes
BAE V4.6 Release Notes
BAE V4.4 Release Notes
BAE V4.2 Release Notes
BAE V4.0 Release Notes
BAE V3.4 Release Notes
BAE Support
BAE Contributions
BAE Development and Service Companies
Electronics Development
Bartels Sport Service
Company Profile
Corporate Info
Bartels :: Bartels AutoEngineer :: BAE Documentation :: User Language Programmer's Guide :: Introduction :: What is Bartels User Language?
Bartels User Language - Programmer's Guide

1.1 What is Bartels User Language?

Bartels AutoEngineer® Dokumentation

1.1.1 Purpose

Bartels User Language introduces almost unlimited features for accessing database contents and activating system functions of the Bartels AutoEngineer (BAE). With Bartels User Language the BAE user e.g., is able to

  • produce manufacturer-specific CAM Processor outputs
  • implement and integrate user-specific menu functions ("macros")
  • provide special report functions
  • introduce special design rule checkers
  • develop automatic library management routines
  • implement special automatic part placement and routing features
  • provide CAM batch programs
  • apply the Neural Rule System throughout the AutoEngineer
  • integrate customer-specific relational databases
  • provide tools for third party design data input/output

Bartels AutoEngineer provides powerful features for transparently integrating User Language programs to the BAE menu system. Key bindings can be used to define hotkeys for calling frequently required User Language programs.

There might be BAE users out there not being very skilled at software development. Our customers are not necessarily expected to spend their time practicing extensive User Language programming (though they of course can do that). The User Language concept rather enables Bartels System to implement almost arbitrary advanced and/or additional BAE software features without the need to change the BAE software kernel which would require a time-consuming BAE software release process. Due to this concept, Bartels System is able to offer superior quality in software support, i.e., highest flexibility and shortest response time at the implementation of customer-specific BAE features. As a result, a large number of User Language programs developed due to user-specific demands are delivered with the BAE software. Since these programs are provided with source code, BAE users easily can adjust them to even more specific requirements. See chapter 4 of this manual for a list of the User Language programs provided with the BAE software (including short program descriptions), and for information on how to install these programs for proper use throughout the Bartels AutoEngineer.


1.1.2 Components

Bartels User Language consists of its language definition, the Bartels User Language Compiler and the Bartels User Language Interpreter, respectively.

Definition of the User Language Programming Language

Bartels User Language is a C-based programming language including powerful internal object-oriented programming (OOP) features such as automatic memory management for list processing, string (class) data type, etc. Bartels User Language provides special variable types for accessing the design database (DDB) of the Bartels AutoEngineer. A system function library containing standard functions (as known from C) and BAE system functions is included with the Bartels User Language. See chapter 2 for a detailed description of the User Language definition. See appendix B for a detailed description of the variable types defined for accessing DDB. See appendix C for a complete description of the functions included with the User Language system function library.

Bartels User Language Compiler

The Bartels User Language Compiler (ULC) is used for translating the Bartels User Language source code files into machine code to be executed by the Bartels User Language Interpreter. The translation process includes checks on data type compatibility as well as on program executability. The compiler is able to run optimizer passes optionally. Special compiler options can be used to generate linkable Bartels User Language libraries. The built-in Linker of the User Language Compiler features both static library linking (at compile time) and preparation of dynamic library linkage (at runtime). See chapter 3.2 for a complete description of the User Language Compiler.

Bartels User Language Interpreter

The Bartels User Language Interpreter is used to execute compiled User Language programs, i.e., to (dynamically link and) run User Language machine programs generated by the User Language Compiler. The Bartels User Language Interpreter is integrated to the Schematic Editor, the Layout Editor, the Autorouter, the CAM Processor, the CAM View module and the Chip Editor of the Bartels AutoEngineer. I.e., compiled User Language programs can be called from any of these Bartels AutoEngineer modules. The program call facilities include explicit program calls from a special BAE menu function as well as implicit program calls by function key-press or program module startup. See chapter 3.3 for a complete description of the Bartels User Language Interpreter.

Bartels :: Bartels AutoEngineer :: BAE Documentation :: User Language Programmer's Guide :: Introduction :: What is Bartels User Language?

What is Bartels User Language?
© 1985-2017 Oliver Bartels F+E • Updated: 11 October 2010, 10:33 [UTC]

© 1985-2017 Oliver Bartels F+E Bartels Homepage Contact and Corporate Info

Web Development by Baumeister Mediasoft Engineering

Was ist Bartels User Language? - Deutsche Version What is Bartels User Language? - English Version