Added support for the Pascal compiler.
This commit is contained in:
parent
2dbc112117
commit
f1386f3aa5
166
lang/pc/comp/pmfile
Normal file
166
lang/pc/comp/pmfile
Normal file
|
@ -0,0 +1,166 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."lang/pc/comp/"
|
||||
|
||||
local extract_parameters = simple {
|
||||
outputs = {
|
||||
"%U%/debugcst.h",
|
||||
"%U%/density.h",
|
||||
"%U%/errout.h",
|
||||
"%U%/idfsize.h",
|
||||
"%U%/inputtype.h",
|
||||
"%U%/numsize.h",
|
||||
"%U%/strsize.h",
|
||||
"%U%/target_sizes.h",
|
||||
"%U%/nocross.h",
|
||||
"%U%/dbsymtab.h",
|
||||
},
|
||||
|
||||
command = {
|
||||
"cd %out[1]:dirname% && %in[1]% %in[2]%"
|
||||
},
|
||||
|
||||
file (d.."make.hfiles"),
|
||||
file (d.."Parameters")
|
||||
}
|
||||
|
||||
local lpars = LLgen {
|
||||
simple {
|
||||
outputs = {"%U%/tokenfile.g"},
|
||||
command = {
|
||||
"%in[1]% < %in[2]% > %out[1]%"
|
||||
},
|
||||
file (d.."make.tokfile"),
|
||||
file (d.."tokenname.c")
|
||||
},
|
||||
file (d.."program.g"),
|
||||
file (d.."declar.g"),
|
||||
file (d.."expression.g"),
|
||||
file (d.."statement.g"),
|
||||
}
|
||||
|
||||
local allocd_header = simple {
|
||||
class = "allocd_header",
|
||||
command = {
|
||||
"%in[1]% < %in[2]% > %out[1]%"
|
||||
},
|
||||
|
||||
file (d.."make.allocd")
|
||||
}
|
||||
|
||||
local cfile_with_headers = cfile {
|
||||
class = "cfile_with_headers",
|
||||
dynamicheaders = {
|
||||
file (d),
|
||||
extract_parameters,
|
||||
allocd_header { outputs = {"%U%/def.h"}, (d.."def.H") },
|
||||
allocd_header { outputs = {"%U%/type.h"}, (d.."type.H") },
|
||||
allocd_header { outputs = {"%U%/scope.h"}, (d.."scope.H") },
|
||||
allocd_header { outputs = {"%U%/node.h"}, (d.."node.H") },
|
||||
allocd_header { outputs = {"%U%/desig.h"}, (d.."desig.H") },
|
||||
lpars
|
||||
}
|
||||
}
|
||||
|
||||
lang_pc_compiler = cprogram {
|
||||
CDEFINES = {PARENT, "-DSTATIC=static"},
|
||||
|
||||
cfile_with_headers (d.."LLlex.c"),
|
||||
cfile_with_headers (d.."LLmessage.c"),
|
||||
cfile_with_headers (d.."body.c"),
|
||||
cfile_with_headers (d.."chk_expr.c"),
|
||||
cfile_with_headers (d.."code.c"),
|
||||
cfile_with_headers (d.."cstoper.c"),
|
||||
cfile_with_headers (d.."def.c"),
|
||||
cfile_with_headers (d.."desig.c"),
|
||||
cfile_with_headers (d.."enter.c"),
|
||||
cfile_with_headers (d.."error.c"),
|
||||
cfile_with_headers (d.."idf.c"),
|
||||
cfile_with_headers (d.."input.c"),
|
||||
cfile_with_headers (d.."label.c"),
|
||||
cfile_with_headers (d.."lookup.c"),
|
||||
cfile_with_headers (d.."main.c"),
|
||||
cfile_with_headers (d.."misc.c"),
|
||||
cfile_with_headers (d.."node.c"),
|
||||
cfile_with_headers (d.."options.c"),
|
||||
cfile_with_headers (d.."progs.c"),
|
||||
cfile_with_headers (d.."readwrite.c"),
|
||||
cfile_with_headers (d.."scope.c"),
|
||||
cfile_with_headers (d.."stab.c"),
|
||||
cfile_with_headers (d.."tokenname.c"),
|
||||
cfile_with_headers (d.."type.c"),
|
||||
cfile_with_headers (d.."typequiv.c"),
|
||||
|
||||
foreach {
|
||||
rule = cfile_with_headers,
|
||||
ith { lpars, from=2 }
|
||||
},
|
||||
|
||||
cfile_with_headers {
|
||||
simple {
|
||||
outputs = {"%U%-symbol2str.c"},
|
||||
command = {
|
||||
"%in[1]% < %in[2]% > %out[1]%"
|
||||
},
|
||||
|
||||
file (d.."make.tokcase"),
|
||||
file (d.."tokenname.c")
|
||||
}
|
||||
},
|
||||
|
||||
cfile_with_headers {
|
||||
CEXTRAFLAGS = "-I"..d,
|
||||
tabgen (d.."char.tab")
|
||||
},
|
||||
|
||||
cfile_with_headers {
|
||||
simple {
|
||||
outputs = {"%U%-next.c"},
|
||||
command = {
|
||||
"%in% > %out%"
|
||||
},
|
||||
|
||||
file (d.."make.next"),
|
||||
|
||||
file (d.."def.H"),
|
||||
file (d.."type.H"),
|
||||
file (d.."node.H"),
|
||||
file (d.."scope.H"),
|
||||
file (d.."desig.H"),
|
||||
file (d.."tmpvar.C"),
|
||||
file (d.."casestat.C"),
|
||||
}
|
||||
},
|
||||
|
||||
cfile_with_headers {
|
||||
allocd_header { outputs = {"%U%-tmpvar.c"}, (d.."tmpvar.C") }
|
||||
},
|
||||
|
||||
cfile_with_headers {
|
||||
allocd_header { outputs = {"%U%-casestat.c"}, (d.."casestat.C") }
|
||||
},
|
||||
|
||||
lib_em_mes,
|
||||
lib_emk,
|
||||
lib_em_data,
|
||||
lib_input,
|
||||
lib_assert,
|
||||
lib_alloc,
|
||||
lib_flt_arith,
|
||||
lib_print,
|
||||
lib_string,
|
||||
lib_system,
|
||||
|
||||
outputs = {"%U%/em_pc"},
|
||||
install = {
|
||||
pm.install( "%BINDIR%%PLATDEP%/em_pc"),
|
||||
pm.install(d.."em_pc.6", "%BINDIR%/man/man6/em_pc.6"),
|
||||
}
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-22 21:03:07 dtrg
|
||||
-- Added support for the Pascal compiler.
|
||||
--
|
19
lang/pc/pmfile
Normal file
19
lang/pc/pmfile
Normal file
|
@ -0,0 +1,19 @@
|
|||
-- $Source$
|
||||
-- $State$
|
||||
|
||||
local d = ROOTDIR.."lang/pc/"
|
||||
|
||||
include (d.."comp/pmfile")
|
||||
|
||||
lang_pc = group {
|
||||
lang_pc_compiler
|
||||
}
|
||||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.1 2006-07-22 21:03:07 dtrg
|
||||
-- Added support for the Pascal compiler.
|
||||
--
|
||||
-- Revision 1.1 2006/07/20 23:18:18 dtrg
|
||||
-- First version in CVS.
|
||||
--
|
6
pmfile
6
pmfile
|
@ -48,6 +48,7 @@ include "util/led/pmfile"
|
|||
|
||||
include "lang/cem/cemcom/pmfile"
|
||||
include "lang/cem/cemcom.ansi/pmfile"
|
||||
include "lang/pc/pmfile"
|
||||
|
||||
include "mach/proto/pmfile"
|
||||
include "mach/6500/pmfile"
|
||||
|
@ -159,7 +160,10 @@ configure = simple {
|
|||
|
||||
-- Revision history
|
||||
-- $Log$
|
||||
-- Revision 1.6 2006-07-22 20:10:41 dtrg
|
||||
-- Revision 1.7 2006-07-22 21:03:07 dtrg
|
||||
-- Added support for the Pascal compiler.
|
||||
--
|
||||
-- Revision 1.6 2006/07/22 20:10:41 dtrg
|
||||
-- Added support for the esize object inspection tool.
|
||||
--
|
||||
-- Revision 1.5 2006/07/22 20:04:41 dtrg
|
||||
|
|
Loading…
Reference in a new issue