view anagram/agcore/rpk.h @ 12:aab9ff6af791

Strengthen the build hack for non-DOS targets.
author David A. Holland
date Tue, 31 May 2022 00:58:42 -0400
parents 13d2b8934445
children
line wrap: on
line source

/*
 * AnaGram, A System for Syntax Directed Programming
 * Copyright 1993-2002 Parsifal Software. All Rights Reserved.
 * See the file COPYING for license and usage terms.
 *
 * rpk.h
 */

#ifndef RPK_H
#define RPK_H

class CharSetExpression; // from csexp.h
class Procedure; // from rule.h
class RuleElement; // from rule.h
class Token; // from token.h
#include "agstack.h"


extern AgStack< AgStack<RuleElement> > ruleElementStack;

void  defineImmediateProc(Procedure p);
int   form_element_1(CharSetExpression *);
int   form1(void);
void  gen_vp_prods(int tn, int zl, int vptn);
int   id_token(int);
int   makeRule(void);
int   makeRule(Token);
int   makeRule(Token token1, Token token2);
int   makeRule(const AgIndexedContainer<RuleElement> &elementList);
void  shell_production(int,int);
int   vp_1(void);
int   vp_2(void);
int   vp_4(void);
int   vp_6(int);
int   vp_7(int);
int   vp_form3(int);
void  vp_forms(void);
void  warning_here(const char *, ...) PRINTFFY(1,2);

#endif /* RPK_H */