אנגליתצרפתיתספרדי

Ad


סמל OnWorks

m4posix - מקוון בענן

הפעל את m4posix בספק אירוח חינמי של OnWorks על אובונטו אונליין, פדורה אונליין, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

זוהי הפקודה m4posix שניתן להריץ בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

תָכְנִית:

שֵׁם


m4 - מעבד מאקרו

תַקצִיר


m4 [−ס] [שם[=val]]... [-U שם]... פילה...

תיאור


אל האני m4 כלי השירות הוא מעבד מאקרו שיקרא קובץ טקסט אחד או יותר, יעבד אותם
לפי הצהרות המאקרו הכלולים שלהם, וכתוב את התוצאות לפלט סטנדרטי.

אפשרויות


אל האני m4 כלי השירות יתאים לנפח הגדרות הבסיס של POSIX.1-2008, סעיף 12.2,
שירות תחביר הנחיות, אלא שסדר ה ו -U אפשרויות יהיו
משמעותי, ואפשרויות יכולות להיות משולבות באופרנדים.

האפשרויות הבאות יתמכו:

−ס אפשר פלט סנכרון קו עבור c99 שלב הפרה-מעבד (כלומר,
#קַו הנחיות).

שם[=val]
לְהַגדִיר שם ל val או לריק אם =val מושמט.

-U שם לא מוגדר שם.

אופרנדים


האופרנד הבא יהיה נתמך:

פילה שם נתיב של קובץ טקסט לעיבוד. אם לא פילה ניתן, או אם כן '-',
הקלט הסטנדרטי ייקרא.

STDIN


הקלט הסטנדרטי יהיה קובץ טקסט המשמש אם לא פילה אופרנד ניתן, או אם הוא
is '-'.

קלט קבצים


קובץ הקלט בשם ה- פילה האופרנד יהיה קובץ טקסט.

הסביבה וריאציות


משתני הסביבה הבאים ישפיעו על הביצוע של m4:

שפה ספק ערך ברירת מחדל עבור משתני הבינאום שאינם מוגדרים או
ריק. (ראה את הכרך של הגדרות הבסיס של POSIX.1-2008, סעיף 8.2,
בינאום משתנים בעד הבכורה של בינאום
משתנים המשמשים לקביעת הערכים של קטגוריות מקומיות.)

LC_ALL אם מוגדר לערך מחרוזת לא ריקה, עוקף את הערכים של כל האחרים
משתני בינאום.

LC_CTYPE קבע את המקום לפרשנות של רצפים של בתים של נתוני טקסט
כתווים (לדוגמה, בייט בודד לעומת תווים מרובי בייטים ב
ארגומנטים וקבצי קלט).

LC_MESSAGES
קבע את המקום שבו יש להשתמש כדי להשפיע על הפורמט והתוכן של
הודעות אבחון שנכתבו לפי שגיאת תקן.

NLSPATH קבע את המיקום של קטלוגי הודעות לעיבוד של LC_MESSAGES.

אסינכרוני אירועים


בְּרִירַת מֶחדָל.

STDOUT


הפלט הסטנדרטי יהיה זהה לקבצי הקלט, לאחר עיבוד עבור מאקרו
הַרחָבָה.

STDERR


השגיאה הסטנדרטית תשמש להצגת מחרוזות עם ה טביעת שגיאה מאקרו, מאקרו מעקב
מופעל על ידי traceon מאקרו, הטקסט המוגדר עבור פקודות מאקרו שנכתבו על ידי dumpdef מאקרו, או
להודעות אבחון.

תפוקה קבצים


אין.

מורחבים תיאור


אל האני m4 השירות ישווה כל אסימון מהקלט מול קבוצת ה-ו המובנים
פקודות מאקרו המוגדרות על ידי המשתמש. אם האסימון מתאים לשם של מאקרו, האסימון יהיה
הוחלף בטקסט המגדיר של המאקרו, אם קיים, ונסרק מחדש לאיתור שמות מאקרו תואמים.
ברגע ששום חלק מהאסימון לא תואם את השם של מאקרו, הוא ייכתב בתקן
תְפוּקָה. למאקרו יכול להיות טיעונים, ובמקרה זה יוחלפו הטיעונים
הטקסט המגדיר לפני שהוא נסרק מחדש.

לשיחות מאקרו יש את הצורה:

שם(arg1, arg2, ..., argn)

שמות מאקרו יהיו מורכבים מאותיות, ספרות וקווים תחתונים, כאשר התו הראשון
אינו ספרה. אסימונים שאינם מהצורה הזו לא יטופלו כאל פקודות מאקרו.

הבקשה תבטיח כי מיד אחרי השם של
המאקרו. אם אסימון התואם לשם של מאקרו אינו מלווה ב-a
סוגריים>, הוא מטופל כשימוש במאקרו ללא ארגומנטים.

אם שם מאקרו מלווה בא , הטיעונים שלה הם ה
אסימונים מופרדים בין וההתאמה
סוגריים>. יש להתעלם מתווי רווח לבן ללא מרכאות לפני כל ארגומנט.
כל שאר התווים, כולל תווים נגררים עם רווח לבן, נשמרים.
תווים מוקפים ביניהם ו תווים לא
לתחום טיעונים.

טיעונים מוגדרים מיקום ומתייחסים אליהם. המיתר "$ 1" בטקסט המגדיר
יוחלף בטיעון הראשון. מערכות יתמכו בתשעה טיעונים לפחות;
ניתן להפנות רק לתשע הראשונות באמצעות המחרוזות "$ 1" ל "$ 9", כולל. ה
מחרוזת "$ 0" מוחלף בשם של המאקרו. המיתר "$ #" מוחלף ב-
מספר הארגומנטים כמחרוזת. המיתר "$*" מוחלף ברשימה של כל
טיעונים, מופרדים על ידי דמויות. המיתר "$@" מוחלף ברשימה של כולם
בין הטיעונים מופרדים ב תווים, וכל ארגומנט מצוטט באמצעות ה-
מחרוזות ציטוט נוכחיות משמאל וימין. המיתר "${" מייצר התנהגות לא מוגדרת.

אם סופקו פחות ארגומנטים מאשר בהגדרת המאקרו, הארגומנטים שהושמטו
נחשבים בטלים. זו לא שגיאה אם ​​מסופקים יותר ארגומנטים מאשר ב-
הגדרת מאקרו.

לא ניתנת משמעות מיוחדת לתווים כלואים בין התאמת שמאל לימין
ציטוט מחרוזות, אבל מחרוזות הציטוט עצמן נמחקות. כברירת מחדל, השמאל
מחרוזת ציטוט מורכבת ממבטא חמור (ציטוט אחורי) וממחרוזת הציטוט הימנית
מורכב ממבטא חריף (מרכאה בודדת); ראה גם את changequote מאקרו.

הערות נכתבות אך לא נסרקות לאיתור שמות מאקרו תואמים; כברירת מחדל, ההתחלה-
מחרוזת הערות מורכבת מה- תו ומחרוזת ההערות הסיום מורכבת
של א . ראה גם את changecom ו dnl פקודות מאקרו.

אל האני m4 תוכנית השירות תאפשר את פקודות המאקרו המובנות הבאות. ניתן להגדיר אותם מחדש,
אבל ברגע שזה נעשה המשמעות המקורית אובדת. הערכים שלהם יהיו אפסיים אלא אם כן
נאמר אחרת. בתיאורים למטה, המונח הגדרה טֶקסט מתייחס לערך של
המאקרו: הארגומנט השני ל- לְהַגדִיר מאקרו, בין היתר. חוץ מ ה
טיעון ראשון ל הערכה מאקרו, כל הארגומנטים המספריים לפקודות מאקרו מובנות יהיו
מתפרשים כערכים עשרוניים. ערכי המחרוזת המופקים כטקסט המגדיר של ה-
decr, divnum, תוספת, מדד, לן, ו sysval פקודות מאקרו מובנות יהיו בצורה של a
עשרוני-קבוע כהגדרתו בשפת C.

changecom אל האני changecom מאקרו יגדיר את מחרוזות ההערה ההתחלה והסיום. ללא
טיעונים, מנגנון ההערות יושבת. עם יחיד שאינו ריק
טיעון, טיעון זה יהפוך להתחלה-הערה ול- יהיה
להפוך למחרוזת הערות הסיום. עם שני טיעונים שאינם אפסיים, הטיעון הראשון
יהפוך למחרוזת ההתחלה-הערה והארגומנט השני יהפוך ל-
מחרוזת הערות סיום. ההתנהגות אינה מוגדרת אם כל ארגומנט מסופק
אבל אפס. המערכות יתמכו במחרוזות הערות בנות חמישה תווים לפחות.

changequote
אל האני changequote מאקרו יגדיר את מחרוזות ההתחלה-מרכאות והסוף. ללא
ארגומנטים, מחרוזות המירכאות יוגדרו לערכי ברירת המחדל (כלומר, `').
ההתנהגות אינה מוגדרת אם יש ארגומנט בודד או אם אחד מהארגומנטים כן
ריק. עם שני ארגומנטים שאינם אפסיים, הארגומנט הראשון יהפוך להתחלה-
מחרוזת ציטוט והארגומנט השני יהפכו למחרוזת סוף ציטוט. מערכות
יתמוך במחרוזות מירכאות בנות חמישה תווים לפחות.

decr הטקסט המגדיר של ה decr מאקרו יהיה הארגומנט הראשון שלו מופחת ב-
1. זו תהיה שגיאה לציין ארגומנט המכיל כל לא מספרי
דמויות. ההתנהגות אינה מוגדרת אם decr לא מיד אחריו
א .

לְהַגדִיר הארגומנט השני יהפוך לטקסט המגדיר של המאקרו ששמו
הטיעון הראשון. לא מצוין אם ה לְהַגדִיר מאקרו מוחק הכל קודם
הגדרות של המאקרו הנקרא לפי הארגומנט הראשון שלו או משמר את כולם מלבד ה-
ההגדרה הנוכחית של המאקרו. ההתנהגות אינה מוגדרת אם לְהַגדִיר לא
מיד ואחריו א .

defn הטקסט המגדיר של ה defn מאקרו תהיה ההגדרה המצוטטת (באמצעות ה
מחרוזות ציטוט נוכחיות) של הטיעונים שלה. ההתנהגות אינה מוגדרת אם defn
לא מיד אחריו א .

להפנות אל האני m4 השירות מחזיק תשעה מאגרים זמניים, ממוספרים 1 עד 9, כולל.
כאשר האחרון של הקלט עבר עיבוד, כל פלט שהוצב
במאגרים אלה ייכתבו לפלט סטנדרטי בסדר מספרי חיץ.
אל האני להפנות מאקרו יפנה פלט עתידי למאגר שצוין על ידיו
טַעֲנָה. ציון שום ארגומנט או ארגומנט של 0 יחדש את הרגיל
תהליך פלט. הפלט המופנה לזרם עם מספר שלילי יהיה
מוּשׁלָך. התנהגות מוגדרת אם מספר זרם גדול מ-9
מצוין. תהיה זו טעות לציין ארגומנט המכיל כל אי-
תווים מספריים.

divnum הטקסט המגדיר של ה divnum מאקרו יהיה המספר של הפלט הנוכחי
זרם כמחרוזת.

dnl אל האני dnl מאקרו יגרום m4 כדי למחוק את כל תווי הקלט עד וכולל
הבא .

dumpdef אל האני dumpdef מאקרו יכתוב את הטקסט המוגדר לשגיאת תקן עבור כל אחד מה-
פקודות מאקרו שצוינו כארגומנטים, או, אם לא צוינו ארגומנטים, עבור כולם
פקודות מאקרו.

טביעת שגיאה אל האני טביעת שגיאה מאקרו יכתוב את הארגומנטים שלו לשגיאת תקן. ההתנהגות היא
לא מצוין אם טביעת שגיאה לא מיד אחריו א .

הערכה אל האני הערכה מאקרו יעריך את הטיעון הראשון שלו כביטוי אריתמטי,
באמצעות אריתמטיקה של מספר שלם בסימן עם דיוק של 32 סיביות לפחות. לפחות ה
מפעילי שפת C הבאים יהיו נתמכים, עם עדיפות,
אסוציאטיביות והתנהגות כמתואר ב סעיף 1.1.2.1, חשבון
דיוק ו תפעול:

()
יונירי +
יונירי -
~

!
בינארי *
/
%
בינארי +
בינארי -
<<
>>
<
<=
>
>=
==
!=
בינארי &
^
|
&&
||

המערכות יתמכו במספרים אוקטליים והקסדצימליים כמו בתקן ISO C.
הארגומנט השני, אם צוין, יקבע את הרדיוס של התוצאה; אם ה
הארגומנט ריק או לא צוין, ברירת המחדל היא 10. ההתנהגות לא צוינה אם
הרדיוס נופל מחוץ לטווח 2 עד 36, כולל. הטיעון השלישי, אם
שצוין, מגדיר את המספר המינימלי של ספרות בתוצאה. התנהגות היא
לא מצוין אם הארגומנט השלישי קטן מאפס. זו תהיה טעות ל
ציין את הארגומנט השני או השלישי המכיל תווים שאינם מספריים. ה
התנהגות לא מוגדרת אם הערכה לא מיד אחריו א
סוגריים>.

ifdef אם הטיעון הראשון ל ifdef מאקרו מוגדר, הטקסט המגדיר יהיה
הטיעון השני. אחרת, הטקסט המגדיר יהיה הטיעון השלישי,
אם צוין, או מחרוזת null, אם לא. ההתנהגות אינה מוגדרת אם ifdef
לא מיד אחריו א .

אחרת אל האני אחרת מאקרו לוקח שלושה ארגומנטים או יותר. אם שני הטיעונים הראשונים
השווה כמחרוזות שוות (לאחר הרחבת מאקרו של שני הארגומנטים), ההגדרה
טקסט יהיה הטיעון השלישי. אם שני הטיעונים הראשונים אינם משווים כ
מחרוזות שוות ויש שלושה ארגומנטים, הטקסט המגדיר יהיה null. אם
שני הארגומנטים הראשונים אינם משתווים כמחרוזות שוות ויש ארבעה או
חמישה טיעונים, הטקסט המגדיר יהיה הטיעון הרביעי. אם השניים הראשונים
ארגומנטים אינם משתווים כמחרוזות שוות ויש שישה ארגומנטים או יותר,
שלושת הארגומנטים הראשונים יימחקו והעיבוד יתחיל מחדש עם
שאר הטיעונים. ההתנהגות אינה מוגדרת אם אחרת לא
מיד ואחריו א .

לכלול הטקסט המגדיר עבור ה לכלול מאקרו יהיה תוכן הקובץ בשם
לפי הטיעון הראשון. זו תהיה שגיאה אם ​​לא ניתן לקרוא את הקובץ. ה
התנהגות לא מוגדרת אם לכלול לא מיד אחריו א
סוגריים>.

תוספת הטקסט המגדיר של ה תוספת מאקרו יהיה הארגומנט הראשון שלו בתוספת של
1. זו תהיה שגיאה לציין ארגומנט המכיל כל לא מספרי
דמויות. ההתנהגות אינה מוגדרת אם תוספת לא מיד אחריו
א .

מדד הטקסט המגדיר של ה מדד מאקרו יהיה מיקום התו הראשון (כמו א
string) בארגומנט הראשון שבו מתחילה מחרוזת התואמת לארגומנט השני
(מקור אפס), או −1 אם הארגומנט השני לא מופיע. ההתנהגות היא
לא מצוין אם מדד לא מיד אחריו א .

לן הטקסט המגדיר של ה לן המאקרו יהיה האורך (כמחרוזת) של
טיעון ראשון. ההתנהגות אינה מוגדרת אם לן לא עוקבים אחריו מיד
על ידי א .

m4exit יציאה מה- m4 תוֹעֶלֶת. אם מצוין הארגומנט הראשון, זה היציאה
קוד. ברירת המחדל היא אפס. זו תהיה טעות לציין טיעון
המכיל תווים שאינם מספריים.

m4wrap הטיעון הראשון יעובד כאשר יגיע EOF. אם ה m4wrap מאקרו
בשימוש מספר פעמים, הארגומנטים שצוינו יעובדו בהזמנה
בו ה m4wrap פקודות מאקרו עובדו. ההתנהגות אינה מוגדרת אם m4wrap
לא מיד אחריו א .

maketemp הטקסט המגדיר יהיה הטיעון הראשון, עם כל נגרר 'איקס' תווים
הוחלף במזהה התהליך הנוכחי כמחרוזת. ההתנהגות אינה מוגדרת
if maketemp לא מיד אחריו א .

מקסטמפ הארגומנט הראשון יילקח כתבנית ליצירת קובץ ריק, עם
נגרר 'איקס' תווים מוחלפים בתווים מתוך שם הקובץ הנייד
סט תווים. ההתנהגות אינה מוגדרת אם הטיעון הראשון לא מסתיים ב
לפחות שש 'איקס' דמויות. אם קובץ זמני נוצר בהצלחה, אז
הטקסט המגדיר של המאקרו יהיה שם הקובץ החדש. מזהה המשתמש
של הקובץ יוגדר לזיהוי המשתמש האפקטיבי של התהליך. מזהה הקבוצה
של הקובץ יוגדר למזהה הקבוצה של ספריית האב של הקובץ או ל
מזהה הקבוצה היעיל של התהליך. סיביות הרשאת הגישה לקובץ מוגדרות
כך שרק הבעלים יכול גם לקרוא וגם לכתוב את הקובץ, ללא קשר ל-
נוֹכְחִי אומסק של התהליך. אם לא ניתן ליצור קובץ, הטקסט המגדיר
של המאקרו תהיה המחרוזת הריקה. ההתנהגות אינה מוגדרת אם מקסטמפ
לא מיד אחריו א .

popdef אל האני popdef מאקרו ימחק את ההגדרה הנוכחית של הטיעונים שלו, ויחליף
ההגדרה הזו עם הקודמת. אם אין הגדרה קודמת, ה
מאקרו אינו מוגדר. ההתנהגות אינה מוגדרת אם popdef אינו מיידי
ואחריו א .

pushdef אל האני pushdef מאקרו יהיה שווה ערך ל- לְהַגדִיר מאקרו למעט
שהיא תשמור כל הגדרה נוכחית לאחזור עתידי באמצעות ה
popdef מאקרו. ההתנהגות אינה מוגדרת אם pushdef לא עוקבים אחריו מיד
על ידי א .

משמרת הטקסט המגדיר עבור ה משמרת מאקרו תהיה רשימה מופרדת בפסיקים שלה
טיעונים מלבד הראשון. כל טיעון יצוטט באמצעות הזרם
ציטוט מחרוזות. ההתנהגות אינה מוגדרת אם משמרת אינו מיידי
ואחריו א .

לכלול אל האני לכלול מאקרו יהיה שווה ערך ל- לכלול מאקרו, חוץ מזה שזה
לא תהיה שגיאה אם ​​הקובץ אינו נגיש. ההתנהגות אינה מוגדרת
if לכלול לא מיד אחריו א .

סובסטראט הטקסט המגדיר עבור ה סובסטראט מאקרו יהיה המחרוזת המשנה של הראשון
ארגומנט שמתחיל במיקום האפס היסט שצוין על ידי השני
טַעֲנָה. הארגומנט השלישי, אם צוין, יהיה מספר התווים ל
בחר; אם לא צוין, התווים מנקודת ההתחלה ועד הסוף של
הטיעון הראשון יהפוך לטקסט המגדיר. זו לא תהיה טעות
ציין נקודת התחלה מעבר לסוף הטיעון הראשון וההגדרה
הטקסט יהיה ריק. תהיה זו טעות לציין ארגומנט המכיל כל
תווים לא מספריים. ההתנהגות אינה מוגדרת אם סובסטראט לא
מיד ואחריו א .

syscmd אל האני syscmd מאקרו יפרש את הארגומנט הראשון שלו כשורה פקודה של מעטפת. ה
הטקסט המגדיר יהיה תוצאת המחרוזת של אותה פקודה. תוצאת המחרוזת
לא ייסרק מחדש לאיתור פקודות מאקרו בעת הגדרת הטקסט המגדיר. אין פלט
ניתוב מחדש יבוצע על ידי m4 תוֹעֶלֶת. ערך סטטוס היציאה מה-
ניתן לאחזר את הפקודה באמצעות sysval מאקרו. ההתנהגות אינה מוגדרת אם
syscmd לא מיד אחריו א .

sysval הטקסט המגדיר של ה sysval מאקרו יהיה ערך היציאה של השירות
שהופעל לאחרונה על ידי ה syscmd מאקרו (כמחרוזת).

traceon אל האני traceon מאקרו יאפשר מעקב עבור פקודות המאקרו שצוינו כארגומנטים,
או, אם לא צוינו ארגומנטים, עבור כל פקודות המאקרו. פלט העקבות יהיה
נכתב לשגיאה סטנדרטית בפורמט לא מוגדר.

עקבות אל האני עקבות מאקרו ישבית מעקב עבור פקודות המאקרו שצוינו כארגומנטים,
או, אם לא צוינו ארגומנטים, עבור כל פקודות המאקרו.

מוארת הטקסט המגדיר של ה מוארת מאקרו יהיה הארגומנט הראשון עם כל
תו שמופיע בארגומנט השני הוחלף בארגומנט המתאים
תו מהטיעון השלישי. אם לא צוין תו חלופי עבור
תו מקור כלשהו כי הארגומנט השני ארוך מהשלישי
ארגומנט, התו הזה יימחק מהארגומנט הראשון ב מוארת's
מגדיר טקסט. ההתנהגות אינה מוגדרת אם '-' תו מופיע בתוכו
הארגומנט השני או השלישי בכל מקום מלבד התו הראשון או האחרון. ה
ההתנהגות אינה מוגדרת אם אותו תו מופיע יותר מפעם אחת ב-
טיעון שני. ההתנהגות אינה מוגדרת אם מוארת אינו מיידי
ואחריו א .

לא להגדיר אל האני לא להגדיר מאקרו ימחק את כל ההגדרות (כולל אלו שנשמרו באמצעות
מה היא pushdef מאקרו) של פקודות המאקרו הנקראות לפי הארגומנטים שלה. ההתנהגות היא
לא מצוין אם לא להגדיר לא מיד אחריו א .

לבטל הפנייה אל האני לבטל הפנייה מאקרו יגרום לפלט מיידי של כל טקסט במאגרים זמניים
נקראים כארגומנטים, או כל המאגרים הזמניים אם לא צוינו ארגומנטים.
ניתן לבטל הפניית מאגרים למאגרים זמניים אחרים. ביטול הפנייה יהיה
להשליך את התוכן של המאגר הזמני. ההתנהגות אינה מוגדרת אם א
הארגומנט מכיל תווים שאינם מספריים.

יְצִיאָה סטָטוּס


יוחזרו ערכי היציאה הבאים:

0 השלמה מוצלחת.

>0 אירעה שגיאה

אם m4exit נעשה שימוש במאקרו, ניתן לציין את ערך היציאה על ידי קובץ הקלט.

השלכות OF שגיאות


בְּרִירַת מֶחדָל.

אל האני הבא סעיפים יש לו אִינפוֹרמָטִיבִי.

בקשה נוהג


אל האני defn מאקרו שימושי לשינוי שמות של פקודות מאקרו, במיוחד מובנות.

השאלה היא איך? הערכה בהתאם לתקן ISO C, לחלק מהפעולות יש התנהגות לא מוגדרת. בחלק
יישומים, חלוקה או שארית באפס גורמים לאות קטלני, גם אם החלוקה
מתרחשת על הענף הקצר של "&&" or "||". כל פעולה שגולשת פנימה
חשבון חתום מייצר התנהגות לא מוגדרת. באופן דומה, שימוש ב- משמרת מפעילים עם א
כמות משמרת שאינה חיובית וקטן מהדיוק אינה מוגדרת, כפי שהיא
העברת מספר שלילי ימינה. מבחינה היסטורית, לא כל היישומים צייתו ל- C-
כללי קדימות שפה: '~' ו '!' היו נמוכים יותר מאשר '=='; '==' ו '!=' לא היו נמוכים יותר
מֵאֲשֶׁר '<', ו '|' לא היה נמוך מ '^'; השימוש הליברלי ב "()" יכול להכריח את הרצוי
עדיפות אפילו עם יישומים אלה שאינם תואמים. יתר על כן, כמה מסורתיים
יישומים מטופלים '^' בתור אופרטור אקספוננציה, אם כי רוב המימושים
עכשיו השתמש "**" כהרחבה למטרה זו.

כאשר מאקרו הוגדר כפול באמצעות ה- pushdef מאקרו, לא מצוין אם
מה היא לְהַגדִיר מאקרו ישנה רק את ההגדרה העדכנית ביותר (כאילו על ידי popdef ו
pushdef), או להחליף את כל ערימת ההגדרות בהגדרה אחת (כאילו
by לא להגדיר ו pushdef). יישום המבקש התנהגות מסוימת עבור לְהַגדִיר
מאקרו במקרה זה יכול להגדיר אותו מחדש בהתאם.

אפליקציות צריכות להשתמש ב- מקסטמפ מאקרו במקום המיושן maketemp מאקרו עבור
יצירת קבצים זמניים.

דוגמאות


אם הקובץ m4src מכיל את השורות:

אל האני ערך of `VER' is "VER".
ifdef(`VER', ``VER'' is מוגדר ל be VER., VER is לֹא מוּגדָר.)
ifelse(VER, 1, ``VER'' is `VER'.)
ifelse(VER, 2, ``VER'' is `VER'., ``VER'' is לֹא <br>
סוף

ואז הפקודה

m4 m4src

או הפקודה:

m4 -U VER m4src

מייצר את התפוקה:

אל האני ערך of VER is "VER".
VER is לֹא מוּגדָר.

VER הוא לא 2.
סוף

הפקודה:

m4 VER m4src

מייצר את התפוקה:

אל האני ערך of VER is "".
VER is מוגדר ל be .

VER הוא לא 2.
סוף

הפקודה:

m4 VER=1 m4src

מייצר את התפוקה:

אל האני ערך of VER is "1".
VER is מוגדר ל be 1.
VER is 1.
VER is לֹא 2.
סוף

הפקודה:

m4 VER=2 m4src

מייצר את התפוקה:

אל האני ערך of VER is "2".
VER is מוגדר ל be 2.

VER הוא 2.
סוף

Rationalale


התנהגות מבוססת מערכת V היסטורית מטופלת "${" בהגדרת מאקרו כשתי מילולית
דמויות. עם זאת, רצף זה נותר לא מוגדר כך שיישומים עשויים להציע
הרחבות כגון "${11}" כלומר הפרמטר המיקום האחד-עשר. מאקרו עדיין יכול להיות
מוגדר עם שימושים מתאימים של ציטוט מקונן כדי לגרום למילה מילולית "${" בפלט
לאחר סריקה מחדש מסיר את המירכאות המקוננות.

ב מוארת מובנית, התנהגות היסטורית מבוססת מערכת V שטופלה '-' בתור מילולי; גנו
התנהגות מתייחסת אליו כאל טווח. גרסה זו של התקן מאפשרת כל אחת מההתנהגות.

FUTURE כיוונים


אין.

השתמש ב-m4posix באינטרנט באמצעות שירותי onworks.net


שרתים ותחנות עבודה בחינם

הורד אפליקציות Windows & Linux

  • 1
    Phaser
    Phaser
    Phaser היא פתיחה מהירה, חינמית ומהנה
    מסגרת משחק מקור HTML5 שמציעה
    עיבוד WebGL ו-Canvas לרוחב
    דפדפני אינטרנט שולחניים וניידים. משחקים
    יכול להיות שותף...
    הורד את Phaser
  • 2
    מנוע VASSAL
    מנוע VASSAL
    VASSAL הוא מנוע משחק ליצירה
    גרסאות אלקטרוניות של לוח מסורתי
    ומשחקי קלפים. זה מספק תמיכה עבור
    עיבוד ואינטראקציה של חלקי משחק,
    ו...
    הורד את VASSAL Engine
  • 3
    OpenPDF - Fork of iText
    OpenPDF - Fork of iText
    OpenPDF היא ספריית Java ליצירה
    ועריכת קבצי PDF עם LGPL ו
    רישיון קוד פתוח MPL. OpenPDF הוא ה
    יורש הקוד הפתוח LGPL/MPL של iText,
    ...
    הורד את OpenPDF - Fork of iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - מערכת לאוטומטיות
    ניתוחים גיאוגרפיים - הוא גיאוגרפי
    תוכנת מערכת מידע (GIS) עם
    יכולות עצומות לגיאודטה
    עיבוד ואנה...
    הורד את SAGA GIS
  • 5
    ארגז כלים עבור Java/JTOpen
    ארגז כלים עבור Java/JTOpen
    ארגז הכלים של IBM עבור Java / JTOpen הוא א
    ספריית מחלקות Java התומכות ב
    תכנות לקוח/שרת ואינטרנט
    דגמים למערכת עם OS/400,
    i5/OS, o...
    הורד את ארגז הכלים עבור Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (או D3 עבור מסמכים מבוססי נתונים)
    היא ספריית JavaScript המאפשרת לך
    לייצר נתונים דינמיים ואינטראקטיביים
    הדמיות בדפדפני אינטרנט. עם D3
    אתה...
    הורד את D3.js
  • עוד »

פקודות לינוקס

Ad