Added support for the Pascal compiler.
This commit is contained in:
		
							parent
							
								
									2dbc112117
								
							
						
					
					
						commit
						f1386f3aa5
					
				
					 3 changed files with 190 additions and 1 deletions
				
			
		
							
								
								
									
										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/pmfile"
 | 
				
			||||||
include "lang/cem/cemcom.ansi/pmfile"
 | 
					include "lang/cem/cemcom.ansi/pmfile"
 | 
				
			||||||
 | 
					include "lang/pc/pmfile"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
include "mach/proto/pmfile"
 | 
					include "mach/proto/pmfile"
 | 
				
			||||||
include "mach/6500/pmfile"
 | 
					include "mach/6500/pmfile"
 | 
				
			||||||
| 
						 | 
					@ -159,7 +160,10 @@ configure = simple {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- Revision history
 | 
					-- Revision history
 | 
				
			||||||
-- $Log$
 | 
					-- $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.
 | 
					-- Added support for the esize object inspection tool.
 | 
				
			||||||
--
 | 
					--
 | 
				
			||||||
-- Revision 1.5  2006/07/22 20:04:41  dtrg
 | 
					-- Revision 1.5  2006/07/22 20:04:41  dtrg
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue