acpica/source/compiler
2005-11-02 18:56:40 +00:00
..
aslanalyze.c Uses new fields in NS node specifically for compiler use (no more 2005-07-10 19:11:06 +00:00
aslcodegen.c Added option to override the table header Revision field 2005-06-29 15:42:30 +00:00
aslcompile.c ASCII check now skips comments; no longer optional 2005-11-02 18:56:40 +00:00
aslcompiler.h Check for duplicates in element lists 2005-08-18 20:04:17 +00:00
aslcompiler.l Check for string constant maximum length (200) 2005-08-18 21:19:02 +00:00
aslcompiler.y Grammar changes to reduce parse stack use, eliminate all reduce/reduce conflicts 2005-11-02 18:49:29 +00:00
asldefine.h Major overhaul of the ResourceManager (code, structs, names, typedefs, etc.) 2005-09-27 21:49:32 +00:00
aslerror.c Lint update 2005-06-29 15:55:40 +00:00
aslfiles.c Exit with non-zero on error 2005-06-29 15:56:35 +00:00
aslfold.c New pass to update AML opcodes (package/varpackage). Cleanup event timing mechanism 2005-08-11 17:51:26 +00:00
aslglobal.h ignore comments in ascii pre-scan; scan is no longer optional 2005-10-28 21:29:38 +00:00
asllength.c change all functions of type ASL_WALK_CALLBACK to return ACPI_STATUS 2005-06-29 15:58:18 +00:00
asllisting.c Condense all instances of "<space>\n" in format strings 2005-09-27 21:54:56 +00:00
aslload.c Implement table-driven resource management dispatch 2005-09-15 21:47:40 +00:00
asllookup.c Fix fault for -ln compiler option 2005-08-18 21:32:26 +00:00
aslmain.c ignore comments in ascii pre-scan; scan is no longer optional 2005-10-28 21:29:38 +00:00
aslmap.c Add ProcessorObj keyword 2005-06-29 16:05:50 +00:00
aslopcodes.c New pass to update AML opcodes (package/varpackage). Cleanup event timing mechanism 2005-08-11 17:51:26 +00:00
asloperands.c Major overhaul of the ResourceManager (code, structs, names, typedefs, etc.) 2005-09-27 21:49:32 +00:00
aslopt.c Make room for null terminator 2005-06-29 16:08:28 +00:00
aslresource.c Major overhaul of the ResourceManager (code, structs, names, typedefs, etc.) 2005-09-27 21:49:32 +00:00
aslrestype1.c Changes to track resource header changes 2005-10-21 20:08:28 +00:00
aslrestype2.c Automated cleanup 2005-10-24 17:19:58 +00:00
aslstubs.c New stub 2005-06-29 16:11:18 +00:00
asltransform.c Add VAR_PACKAGE to case 2005-06-29 16:12:00 +00:00
asltree.c Deployed ACPI_FORMAT_UINT64 to simplify output statements 2005-06-29 16:12:59 +00:00
asltypes.h ASCII check now skips comments; no longer optional 2005-11-02 18:56:40 +00:00
aslutils.c Detect duplicate names for resource descriptors 2005-08-18 22:49:31 +00:00
readme.txt Source gen instructions 2005-06-29 16:15:45 +00:00

Instructions for integrating iASL compiler into MS VC++ 6.0 environment.

Part 1.  Integration as a custom tool

This procedure adds the iASL compiler as a custom tool that can be used
to compile ASL source files.  The output is sent to the VC output 
window.

a) Select Tools->Customize.

b) Select the "Tools" tab.

c) Scroll down to the bottom of the "Menu Contents" window.  There you
   will see an empty rectangle.  Click in the rectangle to enter a 
   name for this tool.

d) Type "iASL Compiler" in the box and hit enter.  You can now edit
   the other fields for this new custom tool.

e) Enter the following into the fields:

   Command:             C:\Acpi\iasl.exe
   Arguments:           -e "$(FilePath)"
   Initial Directory    "$(FileDir)"
   Use Output Window    <Check this option>

   "Command" must be the path to wherever you copied the compiler.
   "-e" instructs the compiler to produce messages appropriate for VC.
   Quotes around FilePath and FileDir enable spaces in filenames.

f) Select "Close".

These steps will add the compiler to the tools menu as a custom tool.
By enabling "Use Output Window", you can click on error messages in
the output window and the source file and source line will be
automatically displayed by VC.  Also, you can use F4 to step through
the messages and the corresponding source line(s).


Part 2.  Integration into a project build

This procedure creates a project that compiles ASL files to AML.

a) Create a new, empty project and add your .ASL files to the project

b) For all ASL files in the project, specify a custom build (under
Project/Settings/CustomBuild with the following settings (or similar):

Commands:
c:\acpi\libraries\iasl.exe -vs -vi "$(InputPath)"

Output:
$(InputDir)\$(InputPath).aml



Compiler Generation From Source

Generation of the ASL compiler from source code requires these items:


Required Tools
1) The Flex (or Lex) lexical analyzer generator.
2) The Bison (or Yacc) parser generator.
3) An ANSI C compiler.


Required Source Code.

There are three major source code components that are required to 
generate the compiler:

1) The ASL compiler source.
2) The ACPI CA Core Subsystem source.  In particular, the Namespace Manager
     component is used to create an internal ACPI namespace and symbol table,
     and the AML Interpreter is used to evaluate constant expressions.
3) The Common source for all ACPI components.